문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한조건
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s return "abcde" "c" "qwer" "we"
public class Solution {
public static String solution(String s) {
String answer = "";
char[] c = s.toCharArray();
if (c.length % 2 != 0){
int idx = c.length/2;
answer = Character.toString(c[idx]);
}
else{
int idx = c.length/2 - 1;
answer = Character.toString(c[idx]) + Character.toString(c[idx+1]);
}
return answer;
}
}
toCharArray()
: 이전에도 봤던! 문자열을 한글자씩 쪼개어 char 타입 배열에 넣어주는 메소드Character.toString()
: char 타입 값 → String 타입 값 변환 ▲ 한 줄 코딩이라니..!
substring()
: String 값 중 특정 인덱스 이후의 값만 잘라 반환str.substring(4)
→ str 값 중 인덱스 4부터 끝까지 반환str.substring(4,11)
→ str 값 중 인덱스 4, 10(11-1)까지 반환위 코드는 word.substring((word.length()-1) / 2, word.length()/2 + 1);
로
substring을 활용하여 return 해야할 값의 beginIndex와 endIndex를 지정해주었다.
length가 5(홀수)일 때, beginIndex = 2, endIndex = 3 → index 2
length가 6(짝수)일 때, beginIndex = 2, endIndex = 4 → index 2,3
오와 완벽...!✨✨✨
참고 자료