본문 바로가기

전체 글133

1일 N알고리즘 - #25 문제 https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다. www.acmicpc.net 문제는 위 사이트를 참고해주세요. 풀이 x, y, w, h = list(map(int, input().split())) ans = min([x, y, w-x, h-y]) print(ans) 처음 문제를 풀때는 두 좌표의 거리를 구하는 공식을 사용해 푸려고 했는데 그림 그리면서 생각해보니까 그럴 필요가 없었습니다. 만약 이렇게 8, 5의 직사각형이 있고 x, y가 5,.. 2020. 5. 25.
1일 N알고리즘 - #24 문제 https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수 www.acmicpc.net 문제는 위 사이트를 참고해주세요. 풀이 primeList = [True] * 10001 for i in range(2, 10001): for j in range(i+i, 10001, i): if primeList[j] == True: primeList[j] = False T = int(input()) for i in range(T): n = int(input()) x = .. 2020. 5. 24.
1일 N알고리즘 - #23 문제 https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 �� www.acmicpc.net 문제는 위 사이트를 참고해주세요. 풀이 while True: n = int(input()) if n == 0: break count = (2 * n) - n for i in range(n+1, 2*n+1): x = int(i ** 0.5) for j in range(2, x+1): if i % j == 0: count -= 1 break print(count) 처음에는 위와 같이 .. 2020. 5. 22.
1일 N알고리즘 - #22 문제 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 문제는 위 사이트를 참고해주세요. 풀이 def findPrime(num): if num == 1: return False n = int(num ** 0.5) for k in range(2, n+1): if num % k == 0: return False return True m, n = map(int, input().split()) for i in range(m, n+1): if findPrime(i): print(i) 먼.. 2020. 5. 22.