티스토리 뷰

반응형

문제

문제 출처

programmers.co.kr/learn/courses/30/lessons/12922

문제 설명

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

제한 사항

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

입출력 예

n return
3 "수박수"
4 "수박수박"

 

풀이

1. n/2만큼 반복하여 "수박"을 붙인다.

2. n이 홀수인 경우 마지막에 "수"를 추가로 붙인다.

class Solution {
    public String solution(int n) {
        String answer = "";
        for (int i=0;i<n/2;i++) {
            answer += "수박";
        }
        //홀수인 경우 마지막에 "수" 추가
        if (n%2 == 1)
            answer += "수";
        return answer;
    }
}

 

다른 사람의 풀이

1. 길이가 n/2+1인 문자열 생성한다.

2. 각 문자(\0)를 "수박"으로 대체한다. -> 길이가 n(n이 짝수인 경우) 또는 n+1(n이 홀수인 경우)인 문자열이 된다.

3. 처음부터 n번째 문자까지 반환한다.

class Solution {
    public String solution(int n) {
        return new String(new char [n/2+1]).replace("\0", "수박").substring(0,n);
    }
}
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함