반응형
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
생각 / 코드
간단한 문제이니 바로 주석으로 생각을 정리하겠다!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Solution { public String solution(String s) { String answer = ""; //짝수와 홀수인 경우로 나누어서 정리한다! 짝수면 2글자가 나오고 홀수면 1글자가 나올 것이다. 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; } } | cs |
삼항연산자등을 사용하면 코드가 더 줄어들 것 같지만 아직 익숙하지가 않다.. 가독성이 떨어지는 느낌이라 별로 사용하고 싶진 않지만 나중에는 사용할 날이 오지 않을까?
추가
문자열을 추출하는데는 3가지 방법이 있다. substring, indexOf, charAt.
substring는 substring(int a1) / substring(int a1, int a2)의 방식으로 나뉘는데 첫 번째는 a1부터 끝까지 가져오는 것, 두번쨰는 a1~a2까지 가져오는 것이다.
indexOf(int n / String str) 은 n이나 str이 있는 인덱스를 반환해주는 함수이다.
마지막으로 charAt(int n)은 n번째 위치의 값을 반환해주는 함수이다.
이 경우에서는 짝수일 경우 2개가 나와야하므로 substring를 써주는 것이 좋다.
반응형
'알고리즘 > 코딩 - 프로그래머스' 카테고리의 다른 글
[Java][프로그래머스][Level 1] 나누어 떨어지는 숫자 배열 (0) | 2019.03.25 |
---|---|
[Java][프로그래머스][Level 1] 같은 숫자는 싫어! (0) | 2019.03.24 |
[Java][프로그래머스][Level 1] 2016년 (0) | 2019.03.24 |
[Java][프로그래머스][Level 1] 체육복 (2) | 2019.03.24 |
[Java][프로그래머스][Level 1] K번째 수 (0) | 2019.03.24 |