Blog

수박수박수박수박수박수?

문제 #

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

  • 제한사항
    • n은 길이 10,000이하인 자연수입니다.
  • 입출력 예
    n return
    3 “수박수”
    4 “수박수박”

나의 풀이 #

class Solution {
    public String solution(int n) {
        String answer = "";
        for(int i = 1; i<=n; i++){
            answer += i%2!=0 ? "수" : "박";
        }
        return answer;
    }
}

다른 사람의 풀이 #

class Solution {
    public String solution(int n) {
         return new String(new char [n/2+1]).replace("\0", "수박").substring(0,n);
    }
}

class Solution {
    public String solution(int n) {
        char[] c = new char[n/2+1];
        // char[] to string
        String str = new String(c); 
        // \0(\u0000)은 char배열에서 null값
        str = str.replace("\0", "수박");
        // 가장 앞부터 n까지 자르는 함수
        // n의 짝홀을 판별해서 더하는 것보다 간단
        str = str.substring(0,n); 
        
        return str;
    }
}

관련개념 학습 #