https://www.acmicpc.net/problem/2675
분류 : 단계별 문제 - 문자열
소요 시간 : 10분
실행 코드 :
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int caseNum = Integer.parseInt(br.readLine());
ArrayList<String> answerList = new ArrayList<String>();
for(int i=0; i<caseNum; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String answer ="";
int repeat = Integer.parseInt(st.nextToken());
char[] arr = st.nextToken().toCharArray();
for(int j=0; j<arr.length; j++) {
for(int k=0; k<repeat; k++) {
answer += arr[j];
}
}
answerList.add(answer);
}
for(String ans : answerList) {
System.out.println(ans);
}
}
}
풀이 과정 : 먼저 BufferedReader로 입력을 받아 readLine()을 통해 테스트 케이스의 개수(caseNum)를 입력받고, caseNum의 수 만큼 입력이 반복되도록 만들었다. 한 줄을 입력할때마다 출력시키면 각 케이스를 입력할때마다 출력이 나와버리기 때문에 answerList에 완성된 answer를 넣고, 반복문이 시작되기 전에 공백문자로 초기화시켜서 새로운 answer를 만들었다.
mvc 나 spring 배우느라 맨날 비슷한 코드를 치다보니 BufferedReader나 StringTokenizer를 치려는데 멈칫멈칫하게 되어 자괴감이 들었다. 앞으로 단계별 문제라도 틈틈히 풀어보아야겠다.
'알고리즘 > 백준' 카테고리의 다른 글
백준 1929번 - 소수 구하기 (Java 8) (0) | 2022.02.24 |
---|---|
백준 4948번 - 베르트랑 공준 (Java 8) (0) | 2022.02.24 |
백준 9020번 - 골드바흐의 추측 (Java 8) (0) | 2022.02.24 |
백준 1065번 - 한수 (Java8) (0) | 2021.09.18 |
백준 1316번 - 그룹 단어 체커 (Java 8) (0) | 2021.09.14 |
댓글