생각정리/코딩테스트
[JAVA][Level1]PROGRAMMERS 가운데 글자 가져오기
생각중임
2023. 8. 19. 22:30
가운데 글자 가져오기
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
입출력 예 설명
없음
주어진 문제
class Solution {
public String solution(String s) {
String answer = "";
return answer;
}
}
나의 문제풀이
class Solution {
public String solution(String s) {
String answer = "";
if (s.length() % 2 == 0) { // 짝수 일경우
char[] c = s.toCharArray(); // 문자열을 문자배열로
// 두글자를 반환하기 위해서 중간앞 문자와 중간문자를 가져온다.
answer += String.valueOf(c[s.length()/2-1]);
answer += String.valueOf(c[s.length()/2]);
} else { // 홀수 일경우
char[] c = s.toCharArray();
// 중간 문자를 가져온다.
answer = String.valueOf(c[s.length()/2]);
}
return answer;
}
}
- 문자열의 길이를 나머지연산자를 사용하여 짝수와 홀수로 구분한다.
- 주어진 문자열을 문자배열로 변환한다.
- 짝수일 경우 중간인덱스-1과 중간인덱스의 문자를 문자열로 변환하여 answer에 넣어준다.
- 홀수일 경우 중간인덱스의 문자를 문자열로 변환하여 answer에 넣어준다.
문자열에서 일부분만 가져오기 위해서 문자배열로 변환하여 해당 문자만 가져오도록 하면서 형변환과 친해지기 위해 써보았다.
subString을 이용해서도 해볼 수 있을 거 같았는데 생각보다 문자배열로 사용한 게 빨리 동작을 하여 나중에 차차 테스트를 해보면서 비교를 해봐야겠다.
문제 출처 - https://school.programmers.co.kr/learn/courses/30/lessons/12903