단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
s는 길이가 1 이상, 100이하인 스트링입니다.
s | return |
---|---|
"abcde" | "c" |
"qwer" | "we" |
public class CenterWord {
//문자열 s를 매개변수로 받고, 문자열을 리턴값으로 돌려주는 메소드 생성
public String solution1(String s) {
// 변수 answer값을 문자열로 선언
String answer = "";
// 문자 s의 글자수를 나타내주는 변수를 정수로 선언
int stringLength = s.length();
// 문자 s의 글자수가 홀수라면
if (stringLength % 2 == 1) {
// .substring(int a, int b)
// : a의 다음 번째 글자부터 b 번째 글짜까지만 보여준다.
// "문자 s의 글자수를 2로 나눈 값의 다음번째 글자부터
// 2로 나눈 값의 다음번째 글자까지"
// (소수점 .5가 나와도 글자수는 정수이기 때문에 소수점이하는 사라진다)
// 즉, 가운데 글자를 보여준다.
answer = s.substring(stringLength / 2, stringLength / 2 + 1);
// 문자 s의 글자수가 짝수라면
} else {
// "문자 s의 글자수를 2로 나눈 값의 같은 번째 글자부터
// 2로 나눈 값의 다음 번째 글자까지"
// 즉, 가운데 두 글자를 나타내준다.
answer = s.substring(stringLength / 2 - 1, stringLength / 2 + 1);
}
return answer;
}
public String solution2(String s) {
// 아래 한 줄의 식이 글자수가 홀수일 때는 가운데 글자를 결과값으로 주고,
// 짝수일 때는 가운데 두 글자를 결과값으로 주는 것을 모두 표현해준다.
return s.substring((s.length() - 1) / 2, s.length() / 2 + 1);
}
public static void main(String[] args) {
CenterWord centerword = new CenterWord();
System.out.println(centerword.solution1("abcde")); // "c" 출력
System.out.println(centerword.solution1("qwer")); // "we" 출력
System.out.println(centerword.solution2("abcde")); // "c" 출력
System.out.println(centerword.solution2("qwer")); // "we" 출력
}
}