본문 바로가기

알고리즘 풀이(JAVA)/백준

(53)
[백준] 문제번호 9655(돌 게임)(실버 5)(java) [문제] → 이기는 사람의 규칙을 잘 살펴보면, 만약 돌멩이가 홀수라면 상근이가, 짝수라면 창영이가 게임을 이기는 것을 확인 할 수 있다. (Ex. 돌멩이 1개 → 상근 / 돌멩이 2개 → 창영 / 돌멩이 3개 → 상근 / 돌멩이 4개 → 창영…) 따라서, n을 2로 나눈값이 0이면(짝수면) CY를 출력하고, 아니라면(홀수라면) SK를 출력시킨다. [답안] import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if (n % 2 == 0){ System.out.println("CY"); }else { ..
[백준] 문제번호 1427(소트인사이즈)(실버 5)(java) [문제] →오름차순 정렬한 숫자를 for문을 돌리면서 자리수 뒤집기! [답안] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] N = br.readLine().toCharArray(); Arrays.sort(N); // 오름차순 정렬 StringBuilder s..
[백준] 문제번호 1934(최소공배수)(브론즈 1)(java) [문제] → 테스트 케이스만큼 for문을 돌리면서 a,b를 받아주고 최대공약수를 "1"로 설정해준다.(기본값) 그 후 내부에서 for문을 돌리면서 a와 b를 j로 나눈 나머지가 0이면 그 값을 최대공약수로 갱신해준다. 그 후, a * b / gcd(최대공약수)를 출력해주면 완성! [답안] import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for (int i = 0; i < t; i++) { int a = sc.nextInt(); int b = sc.nextInt(); int gcd = 1; // ..
[백준] 문제번호 10953(A+B - 6)(브론즈 2)(java) [문제] → testCase를 입력받고, 그 갯수만큼 for문을 돌면서 받으면서 바로 ","기준으로 잘라줌 이후 배열의 0번째 숫자와 1번째 숫자를 더해줘서 출력하면 끝! [답안] import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for (int i = 0; i < t; i++) { String[] str = sc.next().split(","); System.out.println(Integer.parseInt(str[0]) + Integer.parseInt(str[1])); } } } 답안 ht..
[백준] 문제번호 2501(약수 구하기)(브론즈 3)(java) [문제] → ArrayList를 사용하여 풀이 For문을 돌리면서 만약 n값이 i로 나눈 나머지가 0이면 약수로 판단하여 ArrayList에 담아줌 만약 ArrayList의 Size(들어있는 값들의 갯수)가 k보다 작으면 0, 아니라면 k - 1 번째에 해당되는 값을 출력해줌 [답안] import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); ArrayList arr = new ArrayList(); for (int ..
[백준] 문제번호 10156(과자)(브론즈 4)(java) [문제] [답안] import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int k = sc.nextInt(); int n = sc.nextInt(); int m = sc.nextInt(); int answer = m - (n * k); if (answer < 0) { System.out.println(Math.abs(answer)); } else { System.out.println(0); } sc.close(); } } 출처 https://www.acmicpc.net/problem/10156 10156번: 과자 첫 번째 줄에는 과자 한 ..
[백준] 문제번호 26082(WARBOY)(브론즈 5)(java) [문제] [답안] import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); int answer = (b / a) * 3 * c; System.out.println(answer); sc.close(); } } 출처 https://www.acmicpc.net/problem/26082 26082번: WARBOY 첫째 줄에 세 양의 정수 $A$, $B$, $C$($1 \le A, B, C \le 1\,000$)가 공백으로 구분되어 주어..
[백준] 문제번호 27294(몇개고?)(브론즈 5)(java) [문제] [답안] import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int t = sc.nextInt(); int s = sc.nextInt(); if (t>=12 && t