티스토리 뷰

제출 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

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함