본문 바로가기
알고리즘/코딩 - 프로그래머스

[Java][프로그래머스][Level 1] 가운데 글자 가져오기

by 주남2 2019. 3. 24.
반응형

문제 설명


단어 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를 써주는 것이 좋다. 

반응형