문제 설명
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한 사항
- 2 ≤ my_string 길이 ≤ 5
- 2 ≤ n ≤ 10
- "my_string"은 영어 대소문자로 이루어져 있습니다.
입출력 예
| my_string | n | result |
| "hello" | 3 | "hhheeellllllooo" |
입출력 예 설명
입출력 예 #1
"hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.
풀이
1. StringBuilder를 사용하여 문자열 생성해줍니다.
2. 향상된 for문을 사용하여 toCharArray()로 변환된 문자 배열의 각 문자를 하나씩 a에 할당해줍니다.
3. 내부 반복문을 사용하여 각 문자를 n번 반복하여 answer에 추가해줍니다.
4. StringBuilder에 저장된 문자열을 toString 메서드를 사용해 문자열로 변환하여 반환해줍니다.
class Solution {
public String solution(String my_string, int n){
StringBuilder answer = new StringBuilder();
// my_string 각 문자열 반복
for(char a : my_string.toCharArray()){
for(int i = 0; i < n; i++){
answer.append(a);
}
}
return answer.toString();
}
}
💡다른 풀이
(이 방법으로 수행할 경우 내부적으로 문자열을 새로 생성하므로 성능이 다소 저하될 수 있음)
※ 문자열이 매우 길거나 반복 횟수가 많다면 StringBuilder를 사용하는 것이 더 효율적
1. answer을 빈 문자열로 초기화해줍니다.
2. my_string의 각 문자를 반복문으로 순회하며, 각 문자를 n번 반복 추가합니다.
3. += 연산자를 사용해 문자열을 추가해줍니다.
class Solution {
public String solution(String my_string, int n) {
String answer = ""; // 빈 문자열 초기화
// my_string의 각 문자를 순회
for (char c : my_string.toCharArray()) {
// 문자를 n번 반복하여 추가
for (int i = 0; i < n; i++) {
answer += c;
}
}
return answer; // 최종 문자열 반환
}
}
'CodingTest > Programmers' 카테고리의 다른 글
| 특정 문자 제거하기 [프로그래머스 코딩테스트 입문] (0) | 2025.01.20 |
|---|---|
| 양꼬치 [프로그래머스 코딩테스트 입문] (0) | 2025.01.19 |
| 짝수 홀수 개수 [프로그래머스 코딩테스트 입문] (0) | 2025.01.19 |
| 직각삼각형 출력하기 [프로그래머스 코딩테스트 입문] (0) | 2025.01.17 |
| 문자열 뒤집기 [프로그래머스 코딩테스트 입문] (0) | 2025.01.17 |