-
[백준 알고리즘] 단계별로 풀어보기 1단계 JAVA코딩테스트/백준 2023. 4. 14. 08:47
백준 알고리즘 문제 단계별로 풀어보기를 시작하려 한다. 1단계부터 차근차근 문제 풀며 나오는 개념을 정리 start!
https://www.acmicpc.net/step/1
📑 1. Hello World ( 2557)
public class Main { public static void main(String args[]){ System.out.println("Hello World!"); } }
📑 2. A+B (1000)
Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); System.out.println(A+B);
조건에 보면 (0<A, B<10)이 나와있길래 조건을 줬는데 답변 찾아보면 굳이 주지 않아도 정답으로 체크된다.
package step1; import java.util.Scanner; public class Q2_1000 { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); while(true) { if(A>0 && B<10) { System.out.print(A+B); break; }else { A = sc.nextInt(); B = sc.nextInt(); } } sc.close(); } }
📑 5. A/B (1008)
처음에 float 했더니 틀렸다. double로 바꾸면 된다!
package step1; import java.util.Scanner; public class Q5_1008 { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.println((double)a/b); } }
📑 6. 사칙연산 (10869)
package step1; import java.util.Scanner; public class Q6_10869 { 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); System.out.println(a-b); System.out.println(a*b); System.out.println(a/b); System.out.println(a%b); sc.close(); } }
📑 7. ??!(10926)
<Scanner 사용>
package step1; import java.util.Scanner; public class Q7_10926 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name = sc.next(); System.out.println(name + "??!"); } }
<BufferedReader 사용>
package step1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Q7_10926 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String name = br.readLine(); System.out.println(name + "??!"); } }
📑 10. 빈 칸에 들어갈 수는?
package step1; import java.util.Scanner; public class Q10_2588 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String A = sc.next(); String B = sc.next(); int multipl = 0; for(int i = 2; i>=0; i--) { int subB = Integer.parseInt(B.substring(i, i+1)); multipl = Integer.parseInt(A) * subB; System.out.println(multipl); } System.out.println(Integer.parseInt(A) * Integer.parseInt(B)); sc.close(); } }
String의 substring을 이용해서 문자열 자릿수를 자르는 방식을 이용했다. 다른 정답들은 다음과 같다.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public 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(); char[] arr = B.toCharArray(); System.out.println(A * (arr[2] - '0')); System.out.println(A * (arr[1] - '0')); System.out.println(A * (arr[0] - '0')); System.out.println(A * Integer.parseInt(B)); } }
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public 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 n100 = b/100; int n10 = b/10- n100*10; int n1 = b - n100*100 - n10*10; int m1 = a * n1; int m2 = a * n10; int m3 = a * n100; System.out.println(m1); System.out.println(m2); System.out.println(m3); System.out.println(m1+m2*10+m3*100); } }
반응형'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 2908번 - 숫자 뒤집기(JAVA) (0) 2023.07.07 [백준 알고리즘] 단계별로 풀어보기 - 4단계 1차원 배열 JAVA (0) 2023.06.20 [백준 알고리즘] 10811번 바구니 뒤집기 - JAVA (0) 2023.06.20 [백준 알고리즘] 단계별로 풀어보기 - 3단계 반복문 JAVA (0) 2023.06.02 [백준 알고리즘] 단계별로 풀어보기 - 2단계 조건문 JAVA (0) 2023.04.27