Language/Java2023. 10. 18. 21:45[Java] - BufferedWriter

역할 BufferedWriter는 버퍼를 이용하여 데이터의 출력을 다루는 함수입니다. 버퍼를 사용한다는 것은 버퍼에 출력문자열을 저장했다가 버퍼가 다 차거나 사용자의 코드로(flush) 요청이 들어오면 버퍼에 있던 문자열을 한 번에 출력한다는 것입니다. System.out.println()메서드와 역할은 비슷하지만 Scanner와 BufferedReader의 차이처럼 장단점이 존재합니다. System.out.println()과 BufferedWriter에 대해 알아두고 상황에 맞는 출력을 사용하는 것이 좋습니다. 파해쳐보기 System.out.pritnln과 비교 System.out.print/ln()은 Scanner와 마찬가지로 사용자에게 편리성을 제공합니다. println()으로 개행을 따로하지않아도..

[백준] 15552 - 빠른 A+B
알고리즘/백준2023. 10. 18. 05:44[백준] 15552 - 빠른 A+B

• 문제 이전에 풀었던 A+B와 같은문제입니다. 하지만 빠른 A+B라고 되어있는만큼 이 문제에서는 시간제한이 1초로되어있습니다. • 풀이 이 문제를 일반적인 Scanner를 이용하여 입력을 받거나 System.out.println() 출력을 사용하게 된다면 위와 같이 런타임 에러가 나오게됩니다. 여기서 입력값을 받을 때 BufferedReader를 사용하고 출력은 BufferdWriter를 사용하여 문제를 풀어보도록 하겠습니다. BufferedReader에 대한 대략적인 설명은 아래 링크를 참조해주시거나 다른 좋은 설명글도 많으니 한 번쯤은 보시는 걸 추천드립니다! 후에 StringTokenizer에 대한 포스팅도 하고 링크 추가해놓겠습니다! [Java] - BufferedReader 역할 Buffere..

[Java] - BufferedReader
Language/Java2023. 10. 18. 05:12[Java] - BufferedReader

역할 BufferedReader를 한 문장으로 정리하자면 Byte타입으로 전송되는 데이터를 Char형으로 변환하고 버퍼링을 적용하여 Char데이터를 반환한다. Char타입으로 반환된다고 했는데 왜 문자열로 출력되는거지? 그 답은 바로 버퍼(Buffer)를 사용하기 때문이다. Char타입 문자를 하나씩 입력받아 버퍼에 문자를 쌓아둔 뒤 한번에 문자열처럼 출력하기때문이다. 파해쳐보기 BufferdReader import import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; BufferedReader를 사용하기 위해서는 위 세 가지 구문을 import해와야한다. IOException Buffered..

[Java] Scanner
Language/Java2023. 10. 18. 02:46[Java] Scanner

역할 화면으로부터 데이터를 입력받고, 사용자가 원하는 데이터 타입으로 변환해준다. 데이터 타입을 클래스 내부에서 알아서 변환해주기때문에 편의성은 뛰어나지만, 많은 타입변환 함수들을 가지고있어 속도가 매우 느리다 파해쳐보기 Scanner 클래스를 사용하기 위해서는 import문을 먼저 선언해주어야한다. import java.util.Scanner 그런 뒤, 객체를 생성해주면 Scanner를 사용할 수 있는 조건을 갖추게 된다. Scanner sc = new Scanner(System.in) 여기서 System.in이란 자바의 표준입출력을 위한 세 가지 입출력 스트림 (System.in, System.out, System.err)중 하나로 System.in은 콘솔로부터 데이터를 입력받는 스트림입니다. Sys..

[백준] 25314 - 코딩은 체육과목 입니다
알고리즘/백준2023. 10. 18. 00:29[백준] 25314 - 코딩은 체육과목 입니다

• 문제 깨알 상식 Java 기본형의 종류와 크기이다. 종류 | 크기 1byte 2byte 4byte 8byte 논리형 boolean - - - 문자형 - char - - 정수형 byte short int long 실수형 - - float double 문제에선 N의 값을 입력받고 4의 배수만큼 long을 출력하는 문제이다. • 풀이 for문과 while문 두 가지 반복문을 사용하여 문제를 풀어보겠다. for문 for문의 조건식만 설정해주면 정답을 얻을 수 있다 ! 먼저 N의 값을 입력받고, 증감식을 먼저 생각해보자면 4의 배수이기때문에 i+=4를 해주면 4, 8, 12, 16, 20으로 4의 배수만큼 i가 증가하는 것을 알 수 있다. 조건식은 i

[백준] 25304 - 영수증
알고리즘/백준2023. 10. 17. 17:44[백준] 25304 - 영수증

• 문제 이전에 풀었던 [10950] - A + B -3 과 유사한 문제이다. • 풀이 얻어야하는 결과는 물건의 총 합계인 X와 N개 물건의 (a * b)가 같은지 다른지를 알아야한다. 즉, 영수증을 보고 계산한 총 합계를 sum이라고 가정하면 X == SUM이 true이냐 false이냐를 알아내면된다. 먼저 구매한 물건의 종류 수만큼 물건의 값, 개수를 계산해야하기때문에 N을 먼저 입력받고 N을 조건식으로 사용하여 for문을 만든다. for(int i=0; i

[백준] 8393 - 합
알고리즘/백준2023. 10. 17. 16:44[백준] 8393 - 합

• 문제 1부터 n까지의 합을 구하는 간단한 문제이다. • 풀이 반복문을 이용해서 풀어 볼 것입니다. 지금까지는 for문을 사용하여 문제를 풀었으므로 이번문제에선 while문을 사용해보겠습니다. 복합대입연산자를 사용한다면 간단히 풀 수 있는문제입니다 ! 1~n까지의 값들을 sum변수를 선언해 누적합을 해주면 됩니다. while문 사용 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int sum = 0; while(n>0) { sum += n; n--; } System.out.println(su..

[백준] 10950 - A + B - 3
알고리즘/백준2023. 10. 17. 16:07[백준] 10950 - A + B - 3

• 문제 테스트 케이스 T를 받아 T의 값만큼 A+B의 값은 반복출력하는 문제이다. • 풀이 아마 for문을 다룰 줄 아는 분들이라면 어렵지 않게 푸셨을거라 생각한다. T만큼 반복해야하기때문에 먼저 T의 값을 입력받아야 한다. 입력받은 T값을 이용해 for문의 조건식을 작성해주면 된다. 조건식은 (int i=0; i

image