21.05.21 기록

최대 1 분 소요

  • 백준 알고리즘 2675 풀이 완료

    • 내가 푼 2675 풀이 (메모리 14MB, 시간 124ms로 통과)
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    public class B2675 {
        public static void main(String[] args) {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringBuilder sb = new StringBuilder();
            StringTokenizer st;
            try {
                int testCase = Integer.parseInt(br.readLine());
    
                for(int i = 0; i < testCase; i++) {
                    st = new StringTokenizer(br.readLine(), " ");
                    int repeat = Integer.parseInt(st.nextToken());
                    String word = st.nextToken();
    
                    for(int j = 0; j < word.length(); j++) {
                        for(int k = 0; k < repeat; k++) {
                            sb.append(word.charAt(j));
                        }
                    }
                    System.out.println(sb);
                    sb.setLength(0);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    


    • StringBuilder에 저장된 값들을 출력한 후 다음 루프를 돌면 이전에 출력됐었던 값 뒤에 이어서 값이 저장되었다. 이를 해결하기 위해 StringBuilder의 값을 마지막에 비워주었다. (sb.setLength(0))

카테고리:

업데이트: