단어의 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 사항
s는 길이가 1 이상, 100 이하인 string
class Solution {
public String solution(String s) {
String answer = "";
int length = s.length();
int mid = length / 2;
if (length % 2 == 0) {
answer = String.valueOf(s.charAt(mid - 1)) + String.valueOf(s.charAt(mid));
} else {
answer = String.valueOf(s.charAt(mid));
}
return answer;
}
}
처음에는 이렇게 구현했었다. charAt을 사용하고 String.valueOf를 사용해 char 타입을 String으로 변환해 주었다.
하지만 다른사람의 풀이를 보니 substring을 사용한 것을 알 수 있었다.
substring은 자바에서 문자열의 일부분을 추출하는 메소드인데
substring(Start Index) 형식으로 사용하거나 substring(Start Index, End Index) 형식으로 사용할 수 있다.
class Solution {
public String solution(String s) {
int position;
int length;
if (s.length() % 2 == 0) {
position = s.length() / 2 - 1;
length = 2;
} else {
position = s.length() / 2;
length = 1;
}
return s.substring(position, position + length);
}
}
이렇게 더 간결하게 만들 수 있다.
'오늘의 코딩 테스트' 카테고리의 다른 글
오늘의 코딩 테스트(내적) (1) | 2025.02.21 |
---|---|
오늘의 코딩 테스트(수박수박수박수박수박수?) (0) | 2025.02.19 |
오늘의 코딩 테스트(없는 숫자 더하기) (0) | 2025.02.14 |
오늘의 코딩 테스트(핸드폰 번호 가리기)와 과제 진행 시 문제가 되었던 부분 (0) | 2025.02.12 |
오늘의 코딩 테스트(Collatz 추측) (0) | 2025.02.07 |