프로그래머스/Lv. 1

[프로그래머스 코딩테스트] 수박수박수박수박수박수?(Java)

Sigfriede 2023. 4. 17. 18:46

  문제 설명

  길이가 n이고, "수박수박수박수…"와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

  제한사항

  • n은 길이 10,000이하인 자연수입니다.

 

  입출력 예

n return
3 "수박수"
4 "수박수박"
class Solution {
    public String solution(int n) {
        String wm = "수박";
        String answer = "";
        if (n % 2 == 0) {
            answer = wm.repeat(n / 2);
        } else {
            answer = wm.repeat(n / 2) + "수";
        }
        return answer;
    }
}

  문자열 wm을 생성합니다. "수박"이라는 글자를 할당합니다. if문을 활용하여 n이 짝수일 때와 홀수일 때를 구분하여 answer에 할당합니다. repeat 메소드는 문자열을 반복합니다. 괄호에는 반복할 횟수를 입력하는데, 이 문제는 n과 문자열의 길이가 동일해야 합니다. 우리가 반복해야 할 문자열의 길이는 2이므로 n을 2로 나눠줍니다. 만약 홀수일 경우, 여기에 "수"를 더해줍니다. 문자열끼리의 덧셈은 자동으로 문자(열)끼리 붙여주므로 별도의 과정은 거치지 않았습니다. 조금 더 멋있게 풀고 싶다면 "수"라는 문자를 직접적으로 작성하지 않고, wm.charAt(0)으로 간접적으로 문자를 가져와도 무방합니다.

 

문자 하나씩 반복하는 풀이

[프로그래머스 코딩테스트] 문자 반복 출력하기(Java) https://sigfriede.tistory.com/33