상세 컨텐츠

본문 제목

[Java] 수박수박수박수박수박수?

코딩뿌시기(연습)

by thisnorm 2025. 1. 24. 17:57

본문

문제 설명

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

 

 

제한 사항

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

 

 

 

 

입출력 예

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

 

이번 문제도 간단하게 접근해보았다. 변수 두개를 만들어 하나에는 "수"를 하나에는 "박"을 할당하였다.

그리고 문제와 똑같이 인덱스가 0부터 시작하므로 짝수 위치일 때는 "수"를,

홀수 위치일 때는 "박"을 출력하여 answer 변수에 담았다.

class Solution {
    public String solution(int n) {
        String answer = "";
        String sue = "수";
        String bak = "박";
        if(n <= 10000) {
            for(int i = 0; i < n; i++) {
                if(i % 2 == 0) {
                    answer += sue;
                }
                else{
                    answer += bak;
                }
            }
        }
        return answer;
    }
}

 

간단한 문제라 머리가 이끄는대로 풀었는데 다른 사람들은 어떻게 풀었는지 확인해보았다.

public class WaterMelon {
    public String watermelon(int n){

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

    // 실행을 위한 테스트코드입니다.
    public static void  main(String[] args){
        WaterMelon wm = new WaterMelon();
        System.out.println("n이 3인 경우: " + wm.watermelon(3));
        System.out.println("n이 4인 경우: " + wm.watermelon(4));
    }
}

 

처음 보자마자 완벽하게 읽어내기는 어려운 것 같다... 더 열심히 공부해야겠다

관련글 더보기