본문 바로가기
study

study - day12

by hj_it 2024. 4. 3.

2024.04.03

코딩테스트

 

[SWEA] JAVA 2단계

 

▶ 간단한 압축 풀기 [SWEA 1946]

import java.util.*;
import java.io.*;
 // 너비가 10인 여러 줄의 문자열로 구성된 원본문서를 출력
 // 압축문서는 알파벳과 알파벳의 개수로 이루어진 쌍들이 나열되어 있다.
 // 압축문서를 입력받아 원본 문서를 만드는 프로그램을 작성
class Solution {
    public static void main(String args[]) throws Exception {
 
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int T;
        T = Integer.parseInt(bf.readLine());
 
        for(int test_case = 1; test_case <= T; test_case++) {
            bw.write(String.valueOf("#"+test_case));
            bw.newLine();
            int N;
            N = Integer.parseInt(bf.readLine());  // 쌍의 개수
            String[] Ci = new String[N];   // 알파벳
            int[] Ki = new int[N];   // 알파벳의 개수
            int count = 0;   // 원본문서의 너비
            for( int i = 0; i < N; i++) {
                String s = bf.readLine();
                StringTokenizer st = new StringTokenizer(s);
                String sArr[] = s.split(" ");
                Ci[i] = sArr[0];
                Ki[i] = Integer.parseInt(sArr[1]);
                 
                for(int j = 0; j< Ki[i]; j++) {
                    bw.write(String.valueOf(Ci[i])); 
                    count++;
                    if(count == 10){  // 문자열의 너비가 10이 되었을경우
                        bw.newLine(); // 줄바꿈
                        count = 0;
                    }          
                }        
            }
            bw.newLine();
        }
        bw.flush();
        bw.close();
    }
}

줄바꿈을 어떤식으로 하는 지 생각해내는 것이 어려웠다.

'study' 카테고리의 다른 글

study - day11  (0) 2024.04.03
study - day10  (0) 2024.04.01
study - day09  (0) 2024.04.01
study - day08  (0) 2024.04.01
study - day07  (1) 2024.03.25