728x90
KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | Algorithm CODEKATA
🅰️ 가운데 글자 가져오기
🏷 관련 주제 : String index substring

✔ Solution with substring
class Solution {
public String solution(String s) {
int len = s.length();
int idx1;
int idx2;
if (len % 2 == 0) {
idx1 = len / 2 - 1;
idx2 = idx1 + 2;
} else {
idx1 = len / 2;
idx2 = idx1 + 1;
}
String answer = s.substring(idx1, idx2);
return answer;
}
}
채점 결과

💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📌 오늘 만난 문제 : 매개변수로 받은 문자열의 가운데 글자를 반환하시오.
문자열 길이가 짝수이면 가운데 글자가 2글자이고
문자열 길이가 홀수이면 가운데 글자가 1글자가 된다.
글자 수에 따라 조건문을 통해 문자열을 자를 인덱스를 다르게 설정해 주고
조건문이 끝난 후, substring()메서드를 통해 문자열을 잘라 반환하자.
charAt()메서드와 String.format()메서드를 이용해서도 코드를 작성해 보았는데
substring()메서드가 더 실행 속도가 빠른 것 같다.
class Solution {
public String solution(String s) {
int len = s.length();
String answer = String.valueOf(s.charAt(len / 2));
if (len % 2 == 0) {
answer = String.format("%c%s", s.charAt(len / 2 - 1), answer);
}
return answer;
}
}

💬 무엇을 새롭게 알았는지
String 객체의 다양한 메서드를 사용해 보았다.
- String String.valueOf() : 형변환 to String
- char 문자열.charAt(int i) : 문자열의 i번 인덱스의 char 반환
- String String.format()
- String 문자열.substring() : 문자열 자르기
728x90