📘문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12922?language=java
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌 제한조건
- n은 길이 10,000이하인 자연수입니다.
💡 개념 설명
- 반복문: n번 반복하는 루프를 만듭니다.
- 홀수/짝수 판별: 루프 내에서 현재 인덱스(또는 횟수)가 홀수인지 짝수인지 판별합니다.
- 홀수 번째(i가 0, 2, 4...)일 때는 "수"를 결과 문자열에 추가합니다.
- 짝수 번째(i가 1, 3, 5...)일 때는 "박"을 결과 문자열에 추가합니다.
- 문자열 조합: StringBuilder를 사용하여 문자열을 효율적으로 조합합니다. 문자열을 더할 때마다 새로운 객체를 생성하는 String보다 StringBuilder가 성능 면에서 유리합니다.
- 반환: 최종적으로 만들어진 문자열을 반환합니다.
📎 입출력 예시

📎 코드
public class Solution {
public String solution(int n) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
sb.append("수");
} else {
sb.append("박");
}
}
return sb.toString();
}
public static void main(String[] args) {
Solution sol = new Solution();
// 테스트 케이스
int n1 = 3;
int n2 = 4;
int n3 = 7;
System.out.println("n = " + n1 + ", return \"" + sol.solution(n1) + "\""); // 예상 출력: 수박수
System.out.println("n = " + n2 + ", return \"" + sol.solution(n2) + "\""); // 예상 출력: 수박수박
System.out.println("n = " + n3 + ", return \"" + sol.solution(n3) + "\""); // 예상 출력: 수박수박수박수
}
}
📎 결과

'Java' 카테고리의 다른 글
| [Java] 코딩 23 - 프로그래머스 기출 문제(JAVA) / 약수의 개수와 덧셈 / Day 21 (0) | 2025.09.26 |
|---|---|
| [Java] 코딩 22 - 프로그래머스 기출 문제(JAVA) / 내적 / Day 20 (1) | 2025.09.23 |
| [Java] 코딩 20 - 프로그래머스 기출 문제(JAVA) / 가운데 글자 가져오기 / Day 19 (0) | 2025.08.20 |
| [Java] 코딩 19 - 프로그래머스 기출 문제(JAVA) / 제일 작은 수 제거하기 / Day 18 (4) | 2025.07.29 |
| [Java] 코딩 18 - 프로그래머스 기출 문제(JAVA) / 없는 숫자 더하기 / Day 17 (1) | 2025.07.25 |