728x90
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
자바로 품
문자와 숫자를 나눠서 입력받고
list에 숫자만큼 반복을 돌려서 문자를 담음.
그리고 10개씩 출력
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
/*
사용하는 클래스명이 Solution 이어야 하므로, 가급적 Solution.java 를 사용할 것을 권장합니다.
이러한 상황에서도 동일하게 java Solution 명령으로 프로그램을 수행해볼 수 있습니다.
*/
public class Solution
{
public static void main(String args[]) throws Exception
{
//System.setIn(new FileInputStream("C:\\so_Project\\workspace\\BaekJoon\\src\\algorithm\\input.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine()); //테스트 케이스
List <Character> list = new ArrayList<>();
for(int i=1;i<=T;i++) { //하나의 테스트케이스마다 반복
int num = Integer.parseInt(br.readLine());
for(int j=0;j<num;j++) {
StringTokenizer st = new StringTokenizer(br.readLine());
char c = st.nextToken().charAt(0);
int a = Integer.parseInt(st.nextToken());
for(int k=0;k<a;k++) {
list.add(c);
}
}
bw.write("#"+i+"\n");
int ch = 0;
while(list.size()>0) {
bw.write(list.get(0));
list.remove(0);
ch ++;
if(ch == 10) {
bw.write("\n");
ch=0;
}
}
bw.write("\n");
}//하나의 테스트 케이스마다 반복문 끝
bw.flush();
bw.close();
}
}
포스팅 하면서 생각해보니까 굳이 list에 담을 필요가 없다고 느껴졌다.
아니다 담아야 편할 것 같다.
728x90
'알고리즘 > Samsung' 카테고리의 다른 글
SW 1285. 아름이의 돌 던지기 (0) | 2023.05.05 |
---|---|
SW 1945. 간단한 소인수분해 (0) | 2023.05.02 |
SW 1948. 날짜 계산기 (0) | 2023.05.02 |
SW 1961. 숫자 배열 회전 (0) | 2023.04.27 |
SW 1983.조교의 성적 매기기 (1) | 2023.04.18 |