알고리즘 245

[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

[JAVA] 알고리즘 : two pointers - 연속된 자연수의 합

투포인터 import java.util.*; public class Main { public int solution(int n){ int answer = 0, sum = 0, lt=0; int m=n/2+1; // 연속된 자연수의 가장 큰숫자 int[] arr = new int[m]; for(int i=0; i0){ cnt++; n=n-cnt; if(n%cnt==0) answer++; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); System.out.print(T.solution(n)); } }

ALGORITHM 2022.06.26

[JAVA] 백준 2018번- 수들의 합 5

https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 이중 for문 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int answer = 0; for(int i=1; i

ALGORITHM 2022.06.23