일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 그래프 탐색
- dfs
- MYSQL
- 정보처리기사
- 수학
- Spring Security
- 문자열
- 알고리즘
- 다이나믹 프로그래밍
- 정수론
- 구현
- 그래프 이론
- 프로젝트
- 백준
- Vue
- JPA
- DB
- 백트래킹
- 배포
- 프로그래머스
- 소수 판정
- 재귀
- 너비 우선 탐색
- 브루트포스 알고리즘
- 스택
- 깊이 우선 탐색
- SWEA
- springboot
- 자료 구조
- n과 m
- Today
- Total
목록정수론 (7)
영원히 남는 기록, 재밌게 쓰자

문제풀이입력받은 N의 소수인 인수들을 구하는 문제이다. √N까지 반복문을 돌면서 2부터 나누어 떨어지는 수가 있다면 떨어지지 않을 때까지 계속 해서 나누어 준다.남은 수가 1이 아니라면 남은 수를 출력해야 나머지 수가 출력된다.정답코드package com.baekjoon.math.p11653;import java.util.*;public class Main { static int MAX_NUM = 10_000_000; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); StringBuilder sb = new StringBuilde..

문제풀이문제 그대로 구현을 한다면 시간 초과가 발생한다. 나머지 정리와 조금의 응용이 필요했다.year가 될 수 있는 최대 값은 M, N의 최소 공배수가 될 수 있다. 최소 x 부터 시작하여 M, y 부터 시작하여 N을 만족해야 한다.year % M = xyear % N = y위 두 조건을 만족하여아 하는데 다르게 말하면 year가 M의 공배수 + x 이면 된다.그래서 최소 year = x부터 M만큼 증가시키면 1번 조건을 만족하고 그 떄의 year % N == y이면 위 두 조건을 만족할 수 있다. 하지만 한가지 예외가 10 12 10 6 인 경우 즉, 마지막 해와 N이 같은 경우 답을 체크하지 못함그래서 반복문에 들어가기 전 x와 y에 -1씩 해준 뒤 나머지 정리를 수행마지막 출력 때 year + 1..

문제풀이에라토스테네스의 체 알고리즘을 활용해 1000000이하의 모든 소수를 구한다.입력 받은 테스트 케이스의 수 중 제일 처음 a 와 n - a 모두 소수인 경우를 만족하는 것이 가장 차이가 큰 홀수인 소수의 합이 된다.정답 코드package com.baekjoon.p6588;import java.io.*;public class Main { static final int N = 1000000; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = ne..

문제풀이배수의 성질을 이용한 약수를 구하는 방법을 사용한다.알고리즘 풀이에서 배수를 이용하여 약수를 구하는 방식이 선호된다. 6을 까지 약수들을 보면1 -> 12 -> 1 23 -> 1 34 -> 1 2 45 -> 1 56 -> 1 2 3 6 6이하 자연수 중 1을 약수로 가지는 수의 개수 = 6개 = 6 / 16이하 자연수 중 2을 약수로 가지는 수의 개수 = 3개 = 6 / 26이하 자연수 중 3을 약수로 가지는 수의 개수 = 2개 = 6 / 36이하 자연수 중 4을 약수로 가지는 수의 개수 = 1개 = ...6이하 자연수 중 5을 약수로 가지는 수의 개수 = 1개 = N / M6이하 자연수 중 6을 약수로 가지는 수의 개수 = 1개 약수의 합은 1 ~ N 까지 모든 (M * N / M)의 합을 구해..