코딩테스트 40

[백준/JAVA] 15552 빠른 A+B (BufferedWriter)

문제 이전 A+B-3 문제와 똑같지만 시간 제한이 존재한다. 따라서, 문제에서 언급한 BufferedReader와 BufferedWriter를 사용해서 풀어야한다. 여기서 잠깐🖐 BufferedWriter? BufferedWriter는 BufferedReader와 함께 빠른 입출력 퍼포먼스를 낸다. 사용하는 방법은 다음과 같다. // BufferedWriter 선언 BufferedWriter br = new BufferedWriter(new OutputStreamWriter(System.out)); // 출력할 문자열 String str = "abcdef"; // 출력 bw.write(str); // 줄바꿈 bw.newLine(); // 버퍼에 남아있는 모든 데이터 출력 bw.flush(); // 닫기 ..

코딩테스트 2021.04.27

[백준/JAVA] 10950번 A+B-3

문제 나의 접근 방법 테스트 케이스 개수(T)를 크기로 갖는 배열을 하나 만들어야겠다. (for A+B 값 저장) 기본적인 for문 문제이기 때문에 어려움은 없었다. 풀이 - scanner 사용 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 테스트케이스 개수 입력받기 int n = sc.nextInt(); // 개수만큼의 크기를 가진 배열 생성(=왼/오 값이 담긴 변수가 될 것임) int arr[] = new int[n]; // 테스크케이스 개수 만큼 값 왼,오 값 받기 for(int i=0; i

코딩테스트 2021.04.27

[백준/JAVA] 2884 알람 시계

문제 나의 접근 방법 단지, 45분전의 시간만 구하면 되는 것이다. 1. 만약 입력받은 분이 45분보다 작다면 시간은 -1이 되며, 45분전의 시간의 분(M)은 기존의 분 +15분이 된다. 1-1. 이렇게 생각한 이유 2. 시간이 0보다 작아진다면 해당 시간을 23으로 설정하면 된다. 두 가지 입력 방법을 가지고 해결해보자 - Scanner 사용 (소요시간 256ms) import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int H = sc.nextInt(); int M = sc.nextInt(); // 분이 45분보다 작다면 if(M

코딩테스트 2021.04.27

[구름LEVEL] 두부 자르기

문제 풀이 import java.io.*; import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int k = sc.nextInt(); int cnt = 0; for(int i=k-2; i>1; i--) { cnt++; } System.out.print(cnt); } } 처음에는 서로 다른 경우의 수를 구하라해서 순열이나 조합을 생각해보았다. 그러나, 노트에 적어서 로직을 풀어봤다. (내 풀이방법이 무조건 정답은 아니다.) 입력 예시로 7을 넣었을 때 [5,1,1] [4,2,1] [3,3,1] [2,4,1] 총 4가지 경우의 수가 나왔다. 이 안에서 첫 번째 수..

코딩테스트 2021.03.13