ALGORITHM 299

[JAVA] 알고리즘 : HashMap - 학급 회장

import java.util.*; class Main{ public char solution(int n, String s){ char answer=' '; HashMap map = new HashMap(); for(char x : s.toCharArray()){ map.put(x, map.getOrDefault(x, 0)+1); // 찾는 key가 존재한다면 찾는 key의 value를 반환하고 없거나 null이면 default 값을 반환한다. } int max = Integer.MIN_VALUE; for(char key : map.keySet()){ // 키들을 탐색 if(map.get(key) > max){ // value가 max보다 크다면 max = map.get(key); // max값 갱신 a..

ALGORITHM 2022.07.04

[JAVA] 백준 1312번- 소수

https://www.acmicpc.net/problem/1312 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net 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(); int n = sc.nextInt(); int result = a % b; // 정수 영역의 나머지 구함 ..

ALGORITHM 2022.07.03

[JAVA] 백준 13241번- 최소공배수

https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net import java.util.*; public class Main { public static long gcd(long a, long b){ while(b!=0){ long r=a%b; a=b; b=r; } return a; } public static void main(String[] args) { Scanner sc ..

ALGORITHM 2022.07.02

[JAVA] 백준 9655번- 돌 게임

https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String answer = ""; if(n%2 == 0) answer+="CY"; else answer+="SK"; System.out.println(answer); } } 1,3 모두 홀수이므로 홀수개만 가져갈 수 있다. 예시와 같이 돌이 홀수개일 경우, (1,3,1)..

ALGORITHM 2022.07.02

[JAVA] 백준 11653번- 소인수분해

https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int i = 2; while (n >= i) { if (n % i == 0) { n = n / i; System.out.println(i); } else { i++; } } } } 입력받은 숫자 n을 2부터 시작하는 i 로 나눈다. 나머지가 0이면 i를 출력하고, n을..

ALGORITHM 2022.07.02

[JAVA] 백준 10826번- 피보나치수4

https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net import java.math.BigInteger; import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); BigInteger[] arr = new BigInteger..

ALGORITHM 2022.07.02