-
[Java] 자바 알고리즘 / 가운데 문자 추출하기.알고리즘 2019. 10. 5. 20:13반응형
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
[s] [return]
abcde c
qwer we
문제 풀이
- 짝수와 홀수일 때를 구분할 것.
- 매개변수로 들어온 문자열의 길이를 이용할 것. (문자열.length() 메서드 이용 )
1234567891011121314class Test {public String test(String s) {String answer = "";if(s.length()%2==0){//짝수answer = s.charAt((s.length()/2)-1)+""+s.charAt(s.length()/2);}else{//홀수answer = s.charAt(s.length()/2)+"";}return answer;}}Dev. 흑구 Ver.
-해설
문자열의 길이를 이용해서 charAt() 메서드를 이용하여 가운데 문자 하나를 얻는다. 하지만 charAt 메서드는 char형을 반환하므로 String 변수에 대입할 수 없다. 따라서 빈문자열을 붙여줌으로써 String 변수에 대입할 수 있도록 한다.
123456789101112class StringExercise{String getMiddle(String word){return word.substring((word.length()-1) / 2, word.length()/2 + 1);}// 아래는 테스트로 출력해 보기 위한 코드입니다.public static void main(String[] args){StringExercise se = new StringExercise();System.out.println(se.getMiddle("power"));}}Others Ver.
substring() 메서드는 -> substring(문자열, 시작 index, 종료index) 와 같이 시작인덱스와 종료인덱스를 지정해서 문자열을 자를 수 있다.
123456789101112class StringExercise{String getMiddle(String word){int length = word.length();int mid = length / 2;return length%2==0 ? word.substring(mid-1, mid+1) : word.substring(mid, mid+1) ;}// 아래는 테스트로 출력해 보기 위한 코드입니다.public static void main(String[] args){StringExercise se = new StringExercise();System.out.println(se.getMiddle("power"));}}Others Ver.
반응형'알고리즘' 카테고리의 다른 글
[Java] 자바 알고리즘 / 도난당한 체육복 (0) 2019.09.30 [Java] 자바 알고리즘 / K번째 수 (0) 2019.09.30 [Java] 자바 알고리즘 / 완주하지 못한 선수 (0) 2019.09.30 [Java] 자바 알고리즘 / 프로그래머스 콜라츠 추측 (0) 2019.09.30