Algorithm/Baekjoon Online Judge
-
[BOJ] 3009번Algorithm/Baekjoon Online Judge 2022. 3. 15. 12:13
https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net Python3 code1 if __name__ == '__main__': points = [] for _ in range(3): x, y = map(int, input().split()) points.append((x, y)) for x, y in points: for x1, y1 in points: if (x, y1) not in points: print(x, y1) break 세점이 주어졌을 때 한점을 찾기 위해서는 주어진 x, y 좌표 값에 대해서 없는 x 좌표 값, y ..
-
[BOJ] 9020번Algorithm/Baekjoon Online Judge 2022. 3. 14. 13:41
https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net Python3 if __name__ == '__main__': N = int(input()) s = 10001 prime = [True] * s prime[0] = False prime[1] = False for i in range(2, int(s**0.5)+1): if prime[i]: for j in range(i*2, s, i): prime[j] = False for _ ..
-
[BOJ] 4948번Algorithm/Baekjoon Online Judge 2022. 3. 12. 17:05
https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net Python3 code1 - Fail def sosu(n): if n == 1: return False for i in range(2, int(n**0.5)+1): if n % i == 0: return False return True if __name__ == '__main__': while True: N = int(input()) if N == 0: break cnt = 0 for nu..
-
[BOJ] 11653번Algorithm/Baekjoon Online Judge 2022. 3. 12. 14:28
https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net Python3 code 1 if __name__ == '__main__': N = int(input()) for i in range(2, int(N**0.5)+1): while N % i == 0: print(i) N //= i if N > 1: print(N) 입력받은 N에 대해서 2부터 N의 제곱근까지의 수들로 나누기를 진행했다. 나누는 수는 제곱근보다 클 수 없기 때문에 반복문의 범위를 제곱근까지로 정하였다. 만약 N이 i로 나누어진다면 나눈 수 i를 출력하고 i로 나눌 수 있을 때까지 반복해서 나누었다. 마지..
-
[BOJ] 2581번Algorithm/Baekjoon Online Judge 2022. 3. 12. 13:43
https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net Python3 if __name__ == '__main__': M = int(input()) N = int(input()) prime = [] for number in range(M, N+1): is_sosu = 1 if number == 1: continue for i in range(2, number): if number % i == 0: is_sosu = 0 break if is_sosu: prime...
-
[BOJ] 1978번Algorithm/Baekjoon Online Judge 2022. 3. 12. 13:27
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net Python3 if __name__ == '__main__': N = int(input()) cnt = 0 number = list(map(int, input().split())) for n in number: is_sosu = 1 if n == 1: continue for i in range(2, n): if n % i == 0: is_sosu = 0 break if is_sosu: cnt += 1 print(cnt) 입력받을 수의 개수를 N에 저장하고 numbe..
-
[BOJ] 10757번Algorithm/Baekjoon Online Judge 2022. 3. 12. 01:47
https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net Python3 if __name__ == '__main__': A, B = map(int, input().split()) print(A+B) 다른언어였다면 문제가 됐겠지만 파이썬에서는 너무나도 쉽게 해결할 수 있다. 파이썬에서는 정수 자료형인 Integer형에서 오버플로우가 없다. c언어였다면 long타입일 정수값도 파이썬에서는 int로 처리한다. 이게 가능한 이유는 Arbitary-precision arithmetic 때문이다. Arbitary-precision arithmetic은 메모리양이 정해져 있..
-
[BOJ] 2775번Algorithm/Baekjoon Online Judge 2022. 3. 12. 01:30
https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net Python3 if __name__ == '__main__': test = int(input()) for _ in range(test): K = int(input()) N = int(input()) floor = [i for i in range(1, N+1)] for k in range(K): for n in range(1, N): floor[n] += floor[n-1] print(floor[N-1]) testcase의 개수를 받은 후..