• [프로그래머스/JAVA] 가운데 글자 가져오기

    2021. 10. 30.

    by. 하루플스토리

    반응형

    안녕하세요, 하루플 입니다.

    계속 문자열과 배열들을 완벽하게 익히려고 1단계 문제를 풀어보고 있는데요 감이 조금식 잡히는 것 같습니다!

     

    이번에도 쉬운 문제인 '가운데 글자 가져오기' 입니다.

     

    문제

    단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

     

    제한사항

    • s는 길이가 1 이상, 100이하인 스트링입니다.


    우선, 문제의 핵심이 짝수, 홀수를 구분하는 것이고

    짝수일 때는 두글자를 출력하는겁니다.

    ex) 4/2 = 2 입니다. 이 경우 인덱스 0,1,2,3 중 1,2를 표시해야합니다.

    즉, 길이/2 - 1길이/2 를 출력하면 됩니다.

     

    저는 두가지 방법으로 풀어보았습니다.

    첫번째 방법은 charAt을 이용하여 푸는 방법입니다.

    class 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;
    }
    }
    view raw Solution.java hosted with ❤ by GitHub

    charAt은 문자열의 글자를 char 형식으로 한 글자를 가져옵니다.

    전체 글자를 하나식 가져오는 경우 보통 for문으로 Char ch = charAt(i) 하여 가져오곤 합니다.

     

     

     

    두번째 방법은 substring을 이용하여 푸는 방법입니다.

    class 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;
    }
    }
    view raw Solution.java hosted with ❤ by GitHub

    substring을 원하는 인덱스 만큼 떼어서 가져올 수 있습니다.

    저는 두가지 방법 중 아래 substring이 더 간편한 것 같습니다.

    반응형

    댓글