상세 컨텐츠

본문 제목

[백준] 입출력 - (Java) 10718번 We love kriii

Algorithms/BaekJoon

by Jjiveloper 2022. 6. 5. 14:05

본문

728x90

제출 1

public class Main{
    public static void main(String[] args){
        System.out.println("강한친구 대한육군");
        System.out.println("강한친구 대한육군");
    }
}

그냥 println()을 두번 실행했다.

 

결과 1

 

제출2

public class Main{
    public static void main(String[] args){
        for(int i=0; i<2; i++){
            System.out.println("강한친구 대한육군");    
        }
    }
}

반복문을 통해 println()을 실행했다.

 

결과2

메모리는 증가했으나 시간은 4ms 감소했다.


System.out.print()문을 반복적으로 실행하는 것보다 StringBuilder를 이용해 문자열을 담아준 뒤 한번에 출력하는 것이 빠르단 것을 배웠다.

2번 반복되는 출력임에도 StringBuilder를 사용했을때와 얼마나 차이나는지 궁금해져서 다시 풀어보았다.

 

제출 3

public class Main{
    public static void main(String[] args){
        StringBuilder sb = new StringBuilder();
        for(int i=0; i<2; i++){
            sb.append("강한친구 대한육군").append("\n");
        }
        System.out.print(sb);
    }
}

 

결과 3

 

일반 print문을 2번 실행한 것보다도 메모리가 적고, for문으로 출력을 2번한 것과 시간이 동일하다.

 

코드는 늘어나도 시간과 메모리가 단축된다니 감수할 만 한듯


출처: https://www.acmicpc.net/problem/10718

 

10718번: We love kriii

ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박

www.acmicpc.net

728x90
반응형

관련글 더보기