일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWEA
- C#변수
- 수학연산
- 프로그래머스파이썬
- Algorithm
- Literal
- 제어구조
- SWEA파이썬
- 자바
- 리터럴
- Codeup
- 디자인패턴
- 변수
- Java
- c#
- 백준파이썬
- C#프로그래밍
- 코드업자바
- 백준
- 개발입문
- 사용자입력
- 코드업100제자바
- 자바클래스
- 코딩테스트
- 코드업
- 코드업100제
- VARIABLE
- 기초프로그래밍
- 자바연산자
- 알고리즘
- Today
- Total
제니노트
2557번 - Hello World [자바] 본문
방법 1 (System 클래스 - 표준 입출력)
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
참고로 백준은 알고리즘은 클래스명을 Main으로 해주어야한다 ,. -> 정답율이 낮은 이유가 여기에 !!
방법 2 (BufferdWriter)
import java.io.BufferedWriter;
import java.io.IOException;
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.flush();
bw.close();
}
}
방법2의 경우 앞으로 백준 알고리즘을 해결하는데 있어 많이 사용하게될 방법 중 하나이다.
BufferedWriter / BufferedReader 는 Buffer에 있는 IO 클래스!
이 클래스들은 데이터를 하나씩 읽어오는 것이 아니라 버퍼에 저장해두었다가 한 번에 출력 또는 데이터를 보낸다.
ex ) 1000개의 데이터를 1개씩 빼오는게 아니라 임시로 한공간에 담아둔 뒤 한 번에 보내는 방법이니 성능면에서 당연 우수!!! ( 속도가 빠르다고 이해하면 ok .. but 빠른e 이유가 이것뿐만은 아니래요 )
특히 ! scanner는 BufferReader보다 상당히 느린데, 이게 문제가 되는 것이 백준을 풀다 보면 시간 초과로 통과하지 못하는 경우가 더러 있다. 따라서 이를 익혀두는 것이 좋다 !
방법3 (StringBuilder)
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("Hello World!");
System.out.println(sb);
}
}
StringBuilder를 이용하는 방법이다.
이 또한 BufferdWriter와 유사하게 데이터를 모아두었다가 한 번에 출력한다.
문자열을 조작할 때 매우 유용한 방법이다.
특징이 있다면 StringBuilder에서 문자열을 이어 붙인다는 점이다.
방법4 (StringBuffer)
public class Main {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("Hello World!");
System.out.println(sb);
}
}
StringBuilder와 거의 비슷하다 다만 StringBuilder와 차이점이 있다면 StringBuffer은 동기화를 지원한다.
즉 Multi-Thread 상황에서 문자열이 리소스로 사용된다면 StringBuffer을 사용해주어야한다. (StringBuffer은 동기화를 지원하지 않는다.)
아무래도 동기화를 지원하다 보니 StringBuilder보단 느리지만 그래도 문자열에 있어 String 보다 훨씬 빠르다!
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 9012 괄호 (python) (0) | 2023.05.20 |
---|---|
[백준] 9093번 단어뒤집기 (python) (3) | 2023.05.19 |
[백준] 10828번 스택 (python) (2) | 2023.05.19 |
1000번 - A+B [자바] (0) | 2023.01.17 |
10718번 - We love kriii [자바] (0) | 2023.01.17 |