728x90
4 | 15552번 | 빠른 A+B |
시간 제한이 있는 문제. 입출력 방식에서 시간을 아껴야 한다. 고로 Scanner 안 씀
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class step03_4 {
public static void main(String[] args) throws IOException {
// 15552번. 빠른 A+B
// 주의 ) 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다.
// Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다.
// BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine()); // 몇 번 돌릴거냐
StringTokenizer st;
StringBuilder sb= new StringBuilder();
for (int i=0; i<cnt; i++){
st = new StringTokenizer(br.readLine()," ");
sb.append(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken())).append('\n');
}
System.out.println(sb);
br.close();
}
}
5 | 2741번 | N 찍기 |
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class step03_5 {
public static void main(String[] args) throws IOException {
// 2741번. N 찍기
//자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine()); // 몇 번 돌릴거냐
for(int i = 1; i<=cnt ; i++){
System.out.println(i);
}
br.close();
}
}
6 | 2742번 | 기찍 N |
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class step03_6 {
public static void main(String[] args) throws IOException {
// 2742번. 기찍N
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
for(int i=cnt ; i >0; i--){
System.out.println(i);
br.close();
}
}
}
7 | 11021번 | A+B - 7 |
package step03_for;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class step03_07 {
public static void main(String[] args) throws IOException {
// 11021번. A+B-7
//두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
StringTokenizer st ;
for(int i=1; i<cnt+1 ; i++){
st = new StringTokenizer(br.readLine(), " ");
sb.append("Case #").append(i).append(": ").append(Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken())).append('\n');
}
System.out.println(sb);
br.close();
}
}
8 | 11022번 | A+B - 8 |
package step03_for;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class step03_08 {
public static void main(String[] args) throws IOException {
// 11022번. A+B - 8
// 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int a;
int b;
for(int i=1; i<cnt+1 ; i++){
st = new StringTokenizer(br.readLine(), " ");
a = Integer.parseInt(st.nextToken());
b= Integer.parseInt(st.nextToken());
sb.append("Case #").append(i).append(": ").append(a).append(" + ").
append(b).append(" = ").append(a+b).append('\n');
}
System.out.println(sb);
br.close();
}
}
9 | 2438번 | 별 찍기 - 1 |
package step03_for;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class step03_09 {
public static void main(String[] args) throws IOException {
// 2438번. 별 찍기-1
// 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.close();
int N = Integer.parseInt(br.readLine());
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
10 | 2439번 | 별 찍기 - 2 |
System.out.print 가 너무 반복되어서 비효율적일 것 같아서 StringBuilder 도 같이 사용함
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class step03_10 {
public static void main(String[] args) throws IOException {
// 2439번. 별 찍기 -2
// 별찍기 + 오른쪽 정렬
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
br.close();
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N-i; j++) { // 공백 처리
sb.append(' ');
}
for (int k = 1; k <= i; k++) { // * 처리
sb.append('*');
}
sb.append('\n');
}
System.out.print(sb);
}
}
11 | 10871번 | X보다 작은 수 |
package step03_for;
import java.io.IOException;
import java.util.Scanner;
public class step03_11 {
public static void main(String[] args) throws IOException {
// 10871번. X보다 작은 수
// 정수 N개로 이루어진 수열 A와 정수 X가 주어진다.
// 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int X = sc.nextInt();
sc.close();
StringBuilder sb = new StringBuilder();
for(int i = 0 ; i < N ; i++) {
int value = sc.nextInt();
if(value < X)
sb.append(value+" ");
}
System.out.println(sb);
}
}
오늘은 여기까지 (너무 재밌다!)
728x90
'알고리즘 문제풀이 > Beakjoon' 카테고리의 다른 글
코딩 문제 사이트 백준 사용법, 주의사항 (알고리즘, 코딩 테스트 연습) (0) | 2021.06.30 |
---|---|
[자바/백준] 10952번 A+B - 5 (단계별 4 - while문) (0) | 2021.06.30 |
[자바/백준] 단계별 문제 풀이 - for문 (0) | 2021.06.20 |
[자바/백준] 단계별 문제 풀이 - if문 (0) | 2021.06.19 |
[자바/백준] 단계별 문제 풀이 - 입출력과 사칙연산 (0) | 2021.06.19 |