[JAVA] 백준 1단계
2024. 9. 3. 00:03ㆍ코딩 테스트(Coding Test)/백준
2557 Hello World
나의 답)
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
1000 A+B
나의 답1) 176ms
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
System.out.println(A + B);
}
}
나의 답2) 100ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
System.out.println(A + B);
}
}
다른 사람 답) 104ms
public class Main{
public static void main(String[] args) throws Exception{
int a = System.in.read() - '0';
System.in.read();
int b = System.in.read() - '0';
System.out.print(a + b);
}
}
코드 설명
- int a = System.in.read() - '0';
- System.in.read()는 입력된 첫 번째 문자의 ASCII 값을 읽어옵니다.
- 예를 들어, 입력이 "3 5"라면, 첫 번째로 읽히는 문자는 '3'입니다.
- 이때 '3'의 ASCII 값은 51입니다. - '0'을 하면 '0'의 ASCII 값(48)이 차감되어 실제 숫자 값 3이 됩니다.
- 즉, a 변수에는 입력된 첫 번째 숫자가 정수로 저장됩니다.
- System.in.read();
- System.in.read()를 한 번 더 호출하지만, 이 값은 아무 변수에도 저장되지 않습니다.
- 이 줄은 공백 문자(' ')를 무시하는 역할을 합니다. 즉, 입력된 숫자와 숫자 사이에 있는 공백을 처리하기 위한 것입니다.
- int b = System.in.read() - '0';
- 마찬가지로 두 번째 문자를 읽어와서 숫자로 변환합니다. 앞에서 설명한 것처럼 입력이 "3 5"라면, 이번에는 '5'를 읽어와서 ASCII 값에서 '0'의 값을 빼고 5라는 숫자를 얻습니다.
- System.out.print(a + b);
- a와 b의 합을 계산하여 출력합니다. 위 예제에서는 3 + 5 = 8이 출력됩니다.
1001 A-B
나의 답1) 100ms
class Main {
public static void main(String[] args) throws Exception {
int A = System.in.read() - '0';
System.in.read();
int B = System.in.read() - '0';
System.out.print(A - B);
}
}
나의 답2) 168ms
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
System.out.print(A - B);
}
}
나의 답3) 104ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
System.out.print(A - B);
}
}
10998 AxB
나의 답1) 100ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
System.out.print(A * B);
}
}
나의 답2) 96ms
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
int A = System.in.read() - '0';
System.in.read();
int B = System.in.read() - '0';
System.out.print(A * B);
}
}
1008 A/B
나의 답) 100ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
System.out.print((double) A / B);
}
}
10869 사칙연산
나의 답) 104ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
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);
}
}
10926 ??!
나의 답) 108ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
System.out.print(str + "??!");
}
}
18108 1998년생인 내가 태국에서는 2541년생?!
나의 답) 100ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int y = Integer.parseInt(br.readLine());
System.out.print((y - 543));
}
}
10430 나머지
나의 답) 104ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
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));
}
}
다른 사람 답1) 96ms
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
sb.append((A+B)%C).append('\n').append(((A%C) + (B%C))%C).append('\n').append((A*B)%C).append('\n').append( ((A%C) * (B%C))%C);
System.out.print(sb);
}
}
다른 사람 답2) 100ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
String[] strs = s.split(" ");
int A = Integer.parseInt(strs[0]);
int B = Integer.parseInt(strs[1]);
int C = Integer.parseInt(strs[2]);
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);
}
}
2588 곱셈
나의 답) 96ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
int x = a * (b % 10);
int y = a * (b / 10 % 10);
int z = a * (b / 100);
System.out.println(x);
System.out.println(y);
System.out.println(z);
System.out.println(a * b);
}
}
다른 사람의 답1) 100ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
String b = br.readLine();
System.out.println(a * (b.charAt(2) - '0'));
System.out.println(a * (b.charAt(1) - '0'));
System.out.println(a * (b.charAt(0) - '0'));
System.out.println(a * Integer.parseInt(b));
}
}
코드 설명
System.out.println(a * (b.charAt(index) - '0'));
- 이 부분에서는 문자열 b의 각 자릿수를 추출하여, 그 자릿수에 해당하는 값을 a와 곱합니다.
- b.charAt(index)는 b 문자열에서 특정 인덱스에 위치한 문자를 가져옵니다.
- (b.charAt(index) - '0')는 문자를 정수로 변환하는 방법입니다. 예를 들어, '3'이라는 문자를 charAt으로 가져오면 정수 3으로 변환됩니다.
다른 사람의 답2) 104ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
String b = br.readLine();
for(int i = b.length() - 1; i >= 0; i--) {
System.out.println(a * (b.charAt(i) - '0'));
}
System.out.print(a * Integer.parseInt(b));
}
}
11382 꼬마 정민
나의 정답) 100ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
long a = Long.parseLong(st.nextToken());
long b = Long.parseLong(st.nextToken());
long c = Long.parseLong(st.nextToken());
System.out.println((a + b + c));
}
}
다른 사람의 정답) 100ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String[] arr = br.readLine().split(" ");
long[] nums = new long[3];
long res = 0;
for(int i = 0; i < 3; i++) {
nums[i] = Long.parseLong(arr[i]);
res += nums[i];
}
System.out.print(res);
}
}
10171 고양이
나의 답) 100ms
class Main {
public static void main(String[] args) {
System.out.println("\\ /\\");
System.out.println(" ) ( \')");
System.out.println("( / )");
System.out.println(" \\(__)|");
}
}
10172 개
나의 답) 96ms
class Main {
public static void main(String[] args) {
System.out.println("|\\_/|");
System.out.println("|q p| /}");
System.out.println("( 0 )\"\"\"\\");
System.out.println("|\"^\"` |");
System.out.println("||_/=\\\\__|");
}
}
다른 사람의 답) 92ms
class Main {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("|\\_/|\n").append("|q p| /}\n").append("( 0 )\"\"\"\\\n").append("|\"^\"` |\n").append("||_/=\\\\__|\n");
System.out.print(sb);
}
}
'코딩 테스트(Coding Test) > 백준' 카테고리의 다른 글
[JAVA] 백준 3단계 (0) | 2024.09.04 |
---|---|
[JAVA] 백준 2단계 (0) | 2024.09.03 |
[Python] 윤년 (0) | 2024.07.17 |
[Python] 시험 성적 (0) | 2024.07.17 |
[Python] 두 수 비교하기 (0) | 2024.07.17 |