본문 바로가기

CodingTEST

[SW Expert D2] 1946. 간단한 압축 풀기

반응형

1946. 간단한 압축 풀기

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

문제 분석

 

  • 압축된 문서를 입력 받아 원본 문서를 만드는 프로그램을 작성
    • 원본 문서는 너비가 10인 여러 줄의 문자열
    • [알파벳] n : n개의 알파벳이 연속적으로 이루어짐

 

해결 포인트

 

  • 문자열 만들고, 문자열에 입력받은 알파벳을 n개 추가
  • JAVA 11 이상일 경우,repeat() 함수 사용하면 좋다 !
    • 하지만 JAVA8로 해결되어야하므로 사용 안됨

 

코드

 

import java.util.Scanner;

class Solution
{
    public static void main(String args[]) throws Exception
    {
        //System.setIn(new FileInputStream("res/input.txt"));
        Scanner sc = new Scanner(System.in);
        int T;
        T=sc.nextInt();

        for(int test_case = 1; test_case <= T; test_case++) {
            int N = sc.nextInt();
            StringBuilder s = new StringBuilder();
            for (int i = 0; i < N; i++) {
                String c = sc.next();
                int count = sc.nextInt();
                for (int j = 0; j < count; j++) {
                    s.append(c);
                }
            }

            System.out.printf("#%d\n", test_case);

            int i;
            for (i=0 ;i + 10 < s.length(); i += 10) {
                System.out.println(s.substring(i, i + 10));
            }
            if (i < s.length()) {
                System.out.println(s.substring(i, s.length()));
            }
        }
    }
}
반응형