오늘부터는 꾸준하게 백준 문제를 풀고 기록을 할 것이다.
미루고 미뤄왔지만 더이상 미룰 수는 없다고 생각함 ㅇㅇ...
나 이제 3학년 1학니기니까... ㅋ 코테도 제대로 못 푸는 전공자가 되지 말자
- 방법 1 ( System 클래스 - 표준 입출력 )
|
public class Main { |
|
public static void main(String[] args) { |
|
System.out.print("Hello World!"); |
|
|
|
// System.out.println("Hello World!"); - 2번 |
|
// System.out.printf("Hello World!"); - 3번 |
|
// System.out.printf("%s","Hello World!"); - 4번 |
|
|
|
} |
|
} |
*****백준 알고리즘에서는 클래스명을 Main으로 해주어야 한다.
아 어이없던게 첫 문제부터 자꾸 컴파일 에러가나서 틀리길래
어처구니가 없없는데
메인 추가를 안 했다 ㅋㅋㅋㅋ 제정신이가...
그래서 이 문제는 굉장히 기초적인 수준의 문제임에도 정답률이 낮은듯?
나 같은 사람이 많은 것 같다.
- 방법 2
|
import java.io.BufferedWriter; |
|
import java.io.OutputStreamWriter; |
|
import java.io.IOException; |
|
|
|
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(); |
|
} |
|
} |
BufferedWriter / BufferedReader는 Buffer에 있는 IO 클래스다!
이 클래스들은 데이터를 하나씩 읽어오는 것이 아니라 임시 공간(버퍼)에 저장해두었다가 한 번에 출력 또는 데이터를 보내는 방식이다.
즉, 예로들어 1000개의 데이터를 1개씩 보내는게 아니라 임시로 한 공간에 담아둔 뒤 한 번에 보내는 방법이니 당연 성능면에서 우수하다.
**scanner 는 bufferedReader 보다 상당히 느림
- 방법 3
|
public class Main { |
|
public static void main(String[] args){ |
|
|
|
StringBuilder sb = new StringBuilder(); |
|
sb.append("Hello World!"); |
|
|
|
System.out.println(sb); |
|
} |
|
} |
StringBuilder 를 이용하는 방법이다.
이 또한 BufferedWriter 와 유사하게 데이터를 모아두었다가 한 번에 출력한다. 특히나 문자열을 조작할 때 매우 유용하다.
StringBuilder에서 문자열을 이어 붙인다는 특징을 이해할것.
- 방법 4
|
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을 사용해주어야 한다. ( StringBuilder은 동기화를 지원하지 않는다. )
동기화를 지원하다 보니 StringBuilder 보단 느리지만 그래도 문자열 조작에 있어 String 보다 훨씬 빠르다.
'백준 BAEKJOON' 카테고리의 다른 글
[백준] 10869번 사칙연산 출력하기 - JAVA (0) | 2023.01.27 |
---|---|
[백준] 1008번 A / B - JAVA (0) | 2023.01.26 |
[백준] 10998번 A X B 출력하기 - JAVA (0) | 2023.01.26 |
[백준1001번] A - B 출력하기 - JAVA (1) | 2023.01.26 |
[백준] 1000번 A + B 출력하기 - JAVA (0) | 2023.01.26 |