1단계 Hello World
- Hello World!를 출력하시오.
public class Step_01 {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
A.
- syso의 기본적인 사용법을 물어보는 문제
2단계 A+B
- 두 정수 A와 B를 입력 받은 다음, A+B를 출력하는 프로그램을 작성하시오.
import java.util.Scanner;
public class Step_02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a, b;
a = scan.nextInt();
b = scan.nextInt();
System.out.println(a+b);
}
}
A.
- 스캐너의 활용법을 물어보는 문제
- 스캐너 변수를 선언하고 입력 받은 값을 저장해둔다.
- 정수와 빈칸의 연속으로 주어진 입력 값을 int단위로 새로 저장하여 syso로 출력할 수 있다.
3단계 A-B
- 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.
import java.util.Scanner;
public class Step_03 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a, b;
a = scan.nextInt();
b = scan.nextInt();
System.out.println(a-b);
}
}
A.
- 2단계와 같은 방식으로 진행 사칙연산만 바꿔주면 가능하다.
4단계 A×B
- 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.
import java.util.Scanner;
public class Step_04 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a, b;
a = scan.nextInt();
b = scan.nextInt();
System.out.println(a*b);
}
}
A.
- 2단계와 같은 방식으로 진행 사칙연산만 바꿔주면 가능하다.
5단계 A/B
- 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
- 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.
import java.util.Scanner;
public class Step_05 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a, b;
a = scan.nextInt();
b = scan.nextInt();
System.out.println((double)a/b);
}
}
A.
- 2단계와 같은 방식으로 진행한다.
- 출력값의 조건으로 오차가 소수점 9째 자리까지 표시되어야 하기 때문에 실수 변수인 double로 변환을 시켜준다. 혹은 변수를 double로 선언한다.
6단계 사칙연산
- 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
- 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.
import java.util.Scanner;
public class Step_06 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a, b;
a = scan.nextInt();
b = scan.nextInt();
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);
}
}
A.
- 2단계와 마찬가지로 syso에 연산을 적고 결과를 출력한다.
7단계 ??!
- 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.
- 첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.
import java.util.Scanner;
public class Step_07 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String id;
id=scan.next();
System.out.println(id+"??!");
}
}
A.
- id를 String으로 변수 선언하여 받는다. id는 숫자가 아니기 때문에 scan.next로 빈칸까지의 값을 가져온다.
8단계 1998년생인 내가 태국에서는 2541년생?!
- 서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000)
- 불기 연도를 서기 연도로 변환한 결과를 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num;
num=scan.nextInt();
System.out.println(num - 543);
}
}
A.
- 서기 연도는 불기 연도보다 543년 더 낮기 때문에 불기 -543을 하여 서기 연도를 출력할 수 있다.
9단계 나머지
- 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
- 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
import java.util.Scanner;
public class Step_08 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a, b, c;
a=scan.nextInt();
b=scan.nextInt();
c=scan.nextInt();
System.out.println((a+b)%c);
System.out.println(((a%c)+(b%c))%c);
System.out.println((a*b)%c);
System.out.println(((a%c)*(b%c))%c);
}
}
A.
- int를 받아서 해당하는 결과를 syso에 넣고 출력한다.
10단계 곱셈
- (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
- (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
import java.util.Scanner;
public class Step_09 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num1;
int num2;
int num2_1;
int num2_10;
int num2_100;
num1=scan.nextInt();
num2=scan.nextInt();
num2_1=num2%10;
num2_10=(num2%100)/10;
num2_100=num2/100;
System.out.println(num1*num2_1);
System.out.println(num1*num2_10);
System.out.println(num1*num2_100);
System.out.println(num1*num2);
}
}
A.
- 자연수 둘을 int로 받아온다.
- 1의 자리의 수는 10으로 나눈 수의 나머지 계산으로 구한다.
- 10의 자리의 수는 100으로 나눈 나머지를 10으로 나누면 몫이 나오는 것으로 구한다.
- 100의 자리는 100으로 나누면 몫이 나오는 것으로 구한다.
- 1번의 자연수와 1의 자리, 10의 자리 100의 자리 숫자의 곱을 각각 출력하고 1과 2의 곱을 출력한다.
11단계 꼬마 정민
- 첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다.
- A+B+C의 값을 출력한다.
import java.util.Scanner;
public class Step_10 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long a, b, c;
a=scan.nextLong();
b=scan.nextLong();
c=scan.nextLong();
System.out.println(a+b+c);
}
}
A.
- 10의 12승의 정수는 long을 통해서 저장할 수 있기 때문에 변수로 long을 선언하는 유의점이 있다.
12단계 고양이
- 고양이를 출력한다.
import java.util.Scanner;
public class Step_11 {
public static void main(String[] args) {
System.out.println("\\\\ /\\\\");
System.out.println(" ) ( ')");
System.out.println("( / )");
System.out.println(" \\\\(__)|");
}
A.
- 이스케이프 문자를 이용하여 \를 출력할 수 있다.
13단계 개
- 개를 출력한다.
import java.util.Scanner;
public class Step_12 {
public static void main(String[] args) {
System.out.println("|\\\\_/|");
System.out.println("|q p| /}");
System.out.println("( 0 )\\"\\"\\"\\\\");
System.out.println("|\\"^\\"` |");
System.out.println("||_/=\\\\\\\\__|");
}
}
A.
- 이스케이프 문자를 이용하여 \, “를 출력할 수 있다.
'백준' 카테고리의 다른 글
백준 닷컴 단계 별로 풀어보기 6단계 (1) | 2023.10.04 |
---|---|
백준 닷컴 단계 별로 풀어보기 5단계 (1) | 2023.09.21 |
백준 닷컴 단계 별로 풀어보기 4단계 (1) | 2023.09.19 |
백준 닷컴 단계 별로 풀어보기 3단계 (0) | 2023.09.19 |
백준 닷컴 단계 별로 풀어보기 2단계 (1) | 2023.09.19 |