JUINTINATION

백준 2557번: Hello World 본문

백준 알고리즘/입출력과 사칙연산

백준 2557번: Hello World

DEOKJAE KWON 2022. 6. 20. 21:52
반응형

문제

https://www.acmicpc.net/problem/2557

 

2557번: Hello World

Hello World!를 출력하시오.

www.acmicpc.net


풀이

앞으로 이 블로그에 알고리즘 문제 풀이는 자바 위주로 올라갈 예정이었지만 예전에 C언어로 풀었던 백준(Baekjoon Online Judge) 문제가 많아 종종 백준 알고리즘 태그의 글에는 C언어로 푼 코드도 같이 올라갈 예정입니다.


코드

C언어

1. 표준 입출력 라이브러리를 이용한 방법

라이브러리 함수는 헤더 파일에 정의되어 있기 때문에 정의된 함수를 사용하기 위해 소스코드에 반드시 stdio.h 헤더 파일을 포함해야 합니다.

#include <stdio.h>
main() {
    printf("Hello World!\n");
}

2. puts() 함수를 이용한 방법

함수 원형: int puts(const char * string), 자동으로 맨 뒤에 \n가 붙습니다.

main() {
    puts("Hello World!");
}

자바

1. System 클래스 표준 입출력을 이용한 방법

가장 기본이 되는 입출력 코드입니다. 데이터를 하나씩 읽어와 하나씩 출력하는 방식으로 데이터 양이 많아지면 시간 초과가 발생하는 경우가 있을 수 있습니다.

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

2. BufferWriter를 이용한 방법

데이터를 하나씩 읽어오지 않고 임시 공간(버퍼)에 저장해두었다가 한 번에 출력하는 방식입니다.

import java.io.IOException;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        bw.write("Hello World!"); // 버퍼에 데이터 입력
        bw.newLine(); // 버퍼에 개행 삽입
        bw.flush(); // 버퍼의 데이터 플러시
        bw.close(); // 스트림 닫기
    }
}

3. StringBuilder를 이용한 방법

BufferWriter와 비슷하게 데이터를 모아두었다가 한 번에 출력하는 방식입니다.
앞으로 여러 줄의 출력이 필요한 문제에 자주 사용될 예정입니다.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("Hello World!"); // sb에 문장 삽입
        System.out.println(sb); // sb의 문장 출력
    }
}

결론

위의 방법보다 훨씬 더 많은 방법이 있겠지만 제가 실제로 자주 사용하는 방법 위주로 작성하였습니다. 앞으로도 계속 꾸준히 글 올려보도록 하겠습니다.

728x90
Comments