문자 반복 출력하기
https://school.programmers.co.kr/learn/courses/30/lessons/120825
1) 문제
문자열 my_string과 정수 n이 매개변수로 주어질 때,
my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
2 ≤ my_string 길이 ≤ 5
2 ≤ n ≤ 10
"my_string"은 영어 대소문자로 이루어져 있습니다.
2) 예시
Result Table
my_string |
n |
result |
"hello" |
3 |
"hhheeellllllooo" |
입출력 예 #1
"hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.
3) 풀이
1. 클래스 선언을 해줍니다
● class Solution {
클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.
2. 문자열 my_string과 정수 n을 매개변수로 하는 solution 메소드를 선언합니다.
solution은 문자열을 반환하므로 데이터타입을 String으로 합니다.
● public String solution(String my_string, int n){
3. 문자열 결이 및 정수 n에 대한 제한사항을 확인합니다. 만족하지 않는다면 예외 처리합니다.
● if(2 > my_string.length() || my_string.length() > 5 || 2 > n || n > 10){
throw new IllegalArgumentException("제한사항을 확인하세요");
}
4. my_string에 들어가있는 각 문자를 n번 반복한 문자열을 StringBuilder 객체 repeatedString로 선언합니다.
append 메소드를 이용해서 repeatedString에 문자를 추가해줍니다.
이 때 charAt 메소드로 my_string의 i번째 문자를 추출해내어 repeat 메소드로 n번 반복될 것이고,
i는 for문을 통해 0부터 문자길이까지 반복될 것입니다.
(String.valueOf를 통해 char를 String으로 변환해주어야 문자열 메소드인 repeat 메소드를 사용할 수 있으므로 형변환 해주어야합니다.)
● StringBuilder repeatedString = new StringBuilder();
for(int i = 0; i < my_string.length(); i++){
repeatedString.append(String.valueOf(my_string.charAt(i)).repeat(n));
}
return repeatedString.toString();
}
}
4) 코드
class Solution {
public String solution(String my_string, int n){
if(2 > my_string.length() || my_string.length() > 5 || 2 > n || n > 10){
throw new IllegalArgumentException("제한사항을 확인하세요");
}
StringBuilder repeatedString = new StringBuilder();
for(int i = 0; i < my_string.length(); i++){
repeatedString.append(String.valueOf(my_string.charAt(i)).repeat(n));
}
return repeatedString.toString();
}
}