Programming/Algorithm
[백준] 2675번 : 문자열 반복 - JAVA [자바]
Supreme_YS
2021. 12. 27. 17:13
2675번: 문자열 반복
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다
www.acmicpc.net
메서드를 사용해서 구현해보겠다고. 까분 흔적
package Daily;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class P2675 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int R = Integer.parseInt(st.nextToken());
String S = st.nextToken();
System.out.println(repeater(R, S));
}
}
public static String repeater(int R, String S) {
String result = S;
for (int i = 0; i < S.length(); i++) {
for (int j = 0; j < R; j ++) {
result += result.charAt(i);
}
}
result = result.substring(S.length());
return result;
}
}
풀이 생각 정리
- 입력은 몇 개를 받아야 하지? -> 3개 (테스트 횟수, 반복 횟수, 문자열)
- 무슨 처리를 해야하지? -> 문자열에서 / 문자 하나를 / 반복 횟수만큼 반복하고 / 한 줄로 출력 -> 이렇게 네 개의 프로세스로 나눴다.
- 그래서 첫 번째 for문을 작성하는 도중 for문을 또 안에다 쓰고싶지 않았다. -> 메서드를 사용해볼까?
- 메서드를 사용해서 구현하기로 결심했고, 그 결과가 repeater라는 메서드를 구현했다.
- repeater는 반복 횟수와 문자열이 입력되면 처리되어 결과값을 반환하게 된다.
- 구현하는데만 30분 넘게 걸렸다 ^^;; 실력 부족이다.
- 근데 메서드 사용하는거 은근 재밌더라..누가 읽으실지 모르겠지만 꼭 해보시길! 강추강추! (나만 죽을 수 없지)
딱히 좋은 성능을 내진 못한듯하다..ㅠㅠ