단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
s |
return
|
"abcde" |
"c"
|
"qwer"
|
"we"
|
아이디어를 떠올려 보면 글자수는 1부터 세서 가지만 문자열은 0부터 센다.
그리고 내장함수 length() 로 문자열을 세게 되면 int 형으로 반환이 된다.
그러므로 midIndex 변수를 만들어서 s.length()/2를 한다면 2가 출력되게 되어
홀수형의 중앙값이 반환된다. 짝수는 midIndex를 기준으로 -1 값과 그 값을 출력하면 된다.
class Solution {
public String solution(String s) {
String answer = "";
if(1 <= s.length() && s.length() <= 100){
int midIndex = s.length() / 2;
if(s.length() % 2 == 0){
answer = s.charAt(midIndex - 1) + s.charAt(midIndex);
}
else{
answer = s.charAt(s.length()/2);
}
}
return answer;
}
}
하지만 이렇게 하면 오류가 나왔다. 확인해보니 s.charAt 값은 문자열이 아닌 int 형을 반환하여서 그런것이었다.
그렇게 코드를 수정해보면
class Solution {
public String solution(String s) {
String answer = "";
if(1 <= s.length() && s.length() <= 100){
int midIndex = s.length() / 2;
if(s.length() % 2 == 0){
answer = String.valueOf(s.charAt(midIndex - 1)) + String.valueOf(s.charAt(midIndex));
}
else{
answer = String.valueOf(s.charAt(s.length()/2));
}
}
return answer;
}
}
이렇게 된다.
[Java] 수박수박수박수박수박수? (2) | 2025.01.24 |
---|---|
[Java] 없는 숫자 더하기 (1) | 2025.01.22 |
[Java] 음양 더하기 (2) | 2025.01.21 |
[Java] 나누어 떨어지는 숫자 배열 (3) | 2025.01.20 |
[Java] 서울에서 김서방 찾기 (1) | 2025.01.20 |