-
반응형
안녕하세요, 하루플 입니다.
계속 문자열과 배열들을 완벽하게 익히려고 1단계 문제를 풀어보고 있는데요 감이 조금식 잡히는 것 같습니다!
이번에도 쉬운 문제인 '가운데 글자 가져오기' 입니다.
문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
우선, 문제의 핵심이 짝수, 홀수를 구분하는 것이고
짝수일 때는 두글자를 출력하는겁니다.
ex) 4/2 = 2 입니다. 이 경우 인덱스 0,1,2,3 중 1,2를 표시해야합니다.
즉, 길이/2 - 1 과 길이/2 를 출력하면 됩니다.
저는 두가지 방법으로 풀어보았습니다.
첫번째 방법은 charAt을 이용하여 푸는 방법입니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersclass Solution { public String solution(String s) { String answer = ""; if(s.length() % 2 == 0){ //짝수 answer += s.charAt(s.length()/2-1); answer += s.charAt(s.length()/2) } else { //홀수 answer += s.charAt(s.length()/2); } return answer; } } charAt은 문자열의 글자를 char 형식으로 한 글자를 가져옵니다.
전체 글자를 하나식 가져오는 경우 보통 for문으로 Char ch = charAt(i) 하여 가져오곤 합니다.
두번째 방법은 substring을 이용하여 푸는 방법입니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersclass Solution { public String solution(String s) { String answer = ""; if(s.length() % 2 == 0){ //짝수 answer = s.substring(s.length()/2-1, s.length()/2+1); }else { //홀수 answer = s.substring(s.length()/2, s.length()/2+1); } return answer; } } substring을 원하는 인덱스 만큼 떼어서 가져올 수 있습니다.
저는 두가지 방법 중 아래 substring이 더 간편한 것 같습니다.
반응형'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스/JAVA] 이상한 문자 만들기 (0) 2021.10.31 [프로그래머스/JAVA] 시저암호 (0) 2021.10.30 [프로그래머스/JAVA] 같은 숫자는 싫어 (0) 2021.10.30 [프로그래머스/JAVA] 기능개발 (0) 2021.10.30 [프로그래머스/JAVA] 부족한 금액 계산하기 (1) 2021.10.29 댓글