본문 바로가기

백준

(56)
Java 백준 10952번 문제 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. 예제 입력 1 복사 1 1 2 3 3 4 9 8 5 2 0 0 예제 출력 1 복사 2 5 7 17 7 BufferedReader 클래스를 이용하여 상수들을 입력받고 공백 단위로 나뉘어 있기 때문에, StringTokenizer로 나누어서 상수 a, b에 담아준다 그리고 문제에 조건 중에 (0 < A, B < 10) 를 구현하기 위해서 If조건문으로 해당 조건이 들어왔을 때, br..
Java 백준 10871번 문제 문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력 X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. 예제 입력 1 복사 10 5 1 10 4 9 2 3 8 5 7 6 예제 출력 1 복사 1 4 2 3 BufferedReader로 길이 a와 기준점 b를 입력받는다 그리고 for문을 이용하여 길이 a까지 반복문을 돌리면서 StringTokenizer를 이용하여 공백 기..
Java 백준 2439번 문제 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 예제 입력 1 5 전번 별 찍기 문제와 동일한 부분이 많은데 이번 문제는 오른쪽 정렬해서 별을 출력하는 문제이다 BufferedReader로 테스트 케이스(t)를 입력받고 오른쪽 정렬하기 위해서 loop 상수를 t라고 지정해 놓는데 i가 그림상으로 왼쪽에서 오른쪽으로 1씩 증가하고 loop는 그림상으로 오른쪽에서 왼쪽으로 1씩 감소했을 때를 생각했을 때 i와 loop의 크기를 비교하여 공백을 값을 넣어줄지, 별을 찍어줄지 정할 수 있다 whil..
Java 백준 2438번 문제 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 예제 입력 1 5 예제 출력 1 * ** *** **** ***** BufferedReader 클래스를 이용하여 상수 t를 입력받고, 반복문을 t까지 돌리는데 이때, 반복문을 한 번만 돌리면 한 줄에 별 하나밖에 찍히지 않는다 그렇기에 이중 반복문을 이용하여, int i는 1부터 입력받은 상수까지 반복을 하면서 int j는 1부터 i까지 반복하며 별을 찍어준다 전번 문제와 동일하게 StringBuilder에 값을 담아주고, 예시 출력과 같게 '\n' 값도 append 해준다 그리고 반복문이 끝났을 때 sys..
Java 백준 11021번 문제 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. BufferedReader로 테스트 케이스(t)를 입력받은 후에 반복문을 t값 까지 돌려준다 입력 받는 값들이 공백 기준으로 나뉘어 있기 때문에, StringTokenizer 클래스를 이용하여 공백 기준으로 나눠 준 후에 상수 a, b에 값을 담아준다 그리고 조건에 맞게 "Case #i(a+b)"를 StringBuilder sb에 담아준다 그리고..
Java 백준 2742번 문제 문제 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. BufferedReader로 상수(t)를 입력받은 후에 내림차순으로 출력해야 하기 때문에 for 반복문을 이용하여 시작을 상수 t로 설정하고 끝 부분을 1로 설정한 후에 int i를 마이너스해주면서 반복문을 돌리고 BufferedWriter에 값을 담아 준 후에 반복문이 끝나면 flush로 값을 출력해준다
Java 백준 2741번 문제 문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. BufferedReader로 상수를 입력받고, for 반복문을 이용하여 상수(t)만큼 반복을 돌리면서 1부터 입력받은 상수까지 BufferedWriter에 담아준 후에 flush로 출력해준다
Java 백준 15552번 문제 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간 초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다. ..