Algorithm/Programmers(Java)

[프로그래머스/Lv.1] 수박수박수박수박수박수?

비망노트 2022. 12. 19. 19:19

문제 설명

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

 

제한사항

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

 

입출력 예

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

 

 

⭕ 풀이

class Solution {
    public String solution(int n) {
        
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<n/2;i++) {
            sb.append("수박");
        }
        return n%2==0?sb.toString():sb.append("수").toString();
    }
}

 

✅ 흐름

입력받은 정수를 2로나눈뒤 반복문으로 "수박"을 StringBuilder에 더하고

마지막 return 하기전에 n이 홀수였다면 "수"를 더해 반환하도록 만들었다.

 

 

⭕ 다른분의 풀이

    for (int i = 0; i < n; i++){
      result += i % 2 == 0 ? "수" : "박";
    }
    return result;

 

입력받은 n을 그대로 사용하면서 for문 안에서 홀,짝을 구분지어 result에 더하는식의

다른분의 풀이를 보았는데 훨씬 깔끔해보여서 가져왔다.

 

 

 

 

 

 

 

 

-출처

https://school.programmers.co.kr/learn/courses/30/lessons/12922