본문 바로가기

알고리즘26

[python 구름] 거스름돈 📜 접근 방법 최소한의 동전을 주는 문제 가치가 높은 순으로 주어진 n을 뺀다. 뺄 수 없다면 그 다음 순서로 넘어간다. ✅ 정답 코드 n = int(input()) cnt = 0 while n > 0: if n >= 40: tmp = n // 40 n -= 40 * tmp elif n >= 20: tmp = n // 20 n -= 20 * tmp elif n >= 10: tmp = n // 10 n -= 10 * tmp elif n >= 5: tmp = n // 5 n -= 5 * tmp else: n -= 1 tmp = 1 cnt += tmp print(cnt) 이렇게 풀게 되면 계속해서 조건을 확인할 필요가 없는데 계속해서 확인을 하게 되는 문제가 있다. ✅ 다른 방식으로 줄인 코드 n = int(.. 2023. 5. 17.
[python 구름] 폭탄 구현하기 📜 접근 방법 인접하는 좌표 즉, 상하좌우를 계산하는 배열을 만든다 (dx, dy) 리스트로 현재 주어진 땅덩어리?를 만든다 ground 주어지는 값이 k 만큼이므로 k번 반복한다. 입력 받은 x, y에 대해 ground[x][y] 위치에 + 1 해준다. 상하좌우를 확인하여 유효할 경우 +1을 해준다. ground에 주어진 숫자들을 더한다. ❌ 실패 코드 x와 y에 -1씩 해주는 것을 처음에 하지 않았다. ✅ 정답 코드 # from pprint import pprint import sys input = sys.stdin.readline # 상하좌우 dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] n, k = map(int, input().split()) ground = [([0] * .. 2023. 5. 11.
[알고리즘] 소수 판별 : 에라토스테네스의 체 하나의 수가 소수인지 판별할 때는 간단하게 아래와 같이 짤 수 있다. # n : 소수인지 판단할 숫자 is_prime = 1 for i in range(2, n): if n % i == 0: is_prime = 0 소수를 여러번 판별할 경우 에라토스테네스의 체를 사용하는 것이 효율적이다! 10^12 의 큰 수를 소수 판별시 위의 방법 사용 10^6 이하의 모든 소수를 구할때는 에라토스테네스의 체를 활용!! 에라토스테네스의 체 시간 복잡도 O(nloglogn) 어떤 수가 소수가 아닌지를 판정하는 방식으로 동작 2부터 순서대로 그 수가 소수이면 그의 배수들을 모두 소수가 아님! 예시 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 .. 2023. 5. 9.
[python 구름] 대소문자 바꾸기 📜 접근 방법 아스키 코드를 이용하여 풀었다. ✅ 정답 코드 user_input = int(input()) res = '' s = input() i = 0 while i = 97 and asci 2023. 5. 6.