PS/Programmers
[level1, StringBuilder] 수박수박수박수?
git-sun
2023. 3. 18. 22:58
1. 문제

2. 문제 해결 논리
1. 문제 이해
- 주어진 것
- int n //반복할 횟수
- 요구되는 것
- String //수, 박을 반복하는 문자열
2. 데이터 구조 결정
- StringBuilder 사용
- 문자열을 동적으로 생성하고 수정할 때 유용한 클래스
- String은 수정 불가하므로 문자열을 수정할 때마다 새로운 객체가 생성됨. 따라서 메모리 낭비와 성능 저하
- StringBuilder의 주요 메소드
- append() : 문자열 뒤에 추가
- insert() : 지정된 위치에 삽입
- delete() : 지정된 시작과 끝 인덱스 사이의 문자열 삭제
- replace() : 지정된 시작과 끝 인덱스 사이의 문자열을 다른 값으로 대체
- reverse() : 문자열을 거꾸로 뒤집기
- toString() : StringBuilder 객체를 String 객체로 변환하여 반환
3. 알고리즘 설계
- 문자열의 길이 n만큼 반복하여, 짝수의 인덱스에는 "수"를, 홀수의 인덱스에는 "박"을 추가하는 방식으로 설계
3. 코드 구현
import java.util.ArrayList;
import java.util.List;
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();
}
}
* Reference
https://school.programmers.co.kr/learn/courses/30/lessons/12922
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형