문제 설명
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 ≤ my_string 길이 ≤ 5
- 2 ≤ n ≤ 10
- "my_string"은 영어 대소문자로 이루어져 있습니다.
입출력 예
입출력 설명
입출력 예 #1
- "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.
코드
class Solution {
public String solution(String my_string, int n) {
String answer = "";
String[] strArr = new String[my_string.length()];
StringBuilder sb = new StringBuilder();
strArr = my_string.split("");
for(String arr : strArr) {
for(int i=0; i<n; i++) {
sb.append(arr);
}
}
answer = String.valueOf(sb);
return answer;
}
}
풀이
my_string을 문자로 분리하여 strArr 배열에 넣는다. 이중 for문을 이용해 배열에 있는 각 문자들을 n만큼 StringBuilder에 추가해준 후 반복문이 끝나면 이를 문자열로 변환하여 answer에 할당한다.
다른 코드와 풀이
아래의 코드는 다른 사람들이 작성한 것들로, 내 코드와 비교, 참고하기 위해 가져왔다.
class Solution {
public String solution(String my_string, int n) {
StringBuilder sb = new StringBuilder();
for(char c : my_string.toCharArray()){
sb.append((c + "").repeat(n));
}
return sb.toString();
}
}
for문을 통해 my_string을 문자형배열로 변환하여 repeat()을 이용해 해당 문자들을 n번만큼 StringBuilder에 추가한다.
정리
repeat()
: 문자열 반복 메서드
- String 메서드 중 하나로 String 문자열을 주어진 횟수만큼 반복 (java 11에서 새로 추가)
'Coding Test' 카테고리의 다른 글
231003 숨어있는 숫자의 덧셈(1) - Level 0 (1) | 2023.10.03 |
---|---|
231003 순서쌍의 개수 - Level 0 (0) | 2023.10.03 |
231001 문자열 안에 문자열 - Level 0 (0) | 2023.10.01 |
230930 모음 제거 - Level 0 (1) | 2023.09.30 |
230930 특정 문자 제거하기 - Level 0 (1) | 2023.09.30 |