문제
https://school.programmers.co.kr/learn/courses/30/lessons/12922
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
"수","박" 문자열이 반복되는 패턴이 있는데, 길이가 n인 문자열을 구하는 문제이다.
i를 0부터 돌면서 짝수면 "수" 홀수면 "박"을 붙인다.
새로운 문자열을 만들어서 + 연산으로 문자열을 붙이는 것보다 StringBuilder를 사용해서 붙이는게 더 효율적이라고 생각했다.
String은 불변성 객체이므로, 한번 생성되면 내용을 변경할 수 없어서 새로운 String객체가 생성해서 붙여야한다.
StringBuilder는 가변성 객체이므로, 한번 생성된 문자열을 계속 이어 붙여서 나가기때문에, 메모리 사용량이 적을 것이라고생각했다.
소스코드
class Solution {
public String solution(int n) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
sb.append(i % 2 == 0 ? "수" : "박");
}
return sb.toString();
}
}
실행결과

'Problem Solving > Programmers' 카테고리의 다른 글
| [Programmers] x만큼 간격이 있는 n개의 숫자 - Java (0) | 2025.08.18 |
|---|---|
| [Programmers] 의상 - Java (0) | 2025.08.16 |
| [Programmers] 신고 결과 받기 - Java (0) | 2025.08.14 |
| [Programmers] 입국심사 - Java (0) | 2025.08.13 |
| [Programmers] 풍선 터트리기 - Java (1) | 2025.08.12 |