코딩 테스트291 CCW CCW (counter-clockwise) 평면상의 3개의 점과 관련된 점들의 위치관계를 파악하는 알고리즘(= 벡터의 외적) 2024. 8. 31. 예산 첫번째 코드 그리디 알고리즘 같이 오름차순으로 나열 한 후 남은 금액이 현재 금액보다 크면 주는 형식을 통해 최대한 많은 부서에 지원해 줄 수 있다. def solution(d, budget): answer = 0 left = budget d.sort() for i in d: if i answer += 1 left -= i return answer 통과!링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/12982.%E2%80%85%EC%98%88%E.. 2024. 8. 30. 088 쉬운 계단 수 첫번째 코드 dp에서는 점화식을 세우는 방법의 아이디어를 보면서이런게 있구나~ 라는 생각을 먼저 하는 것이 중요하다!! 점화식은 오로지 하나로 구성된 것이 아니고 나누어서 생각해야 한다!코드는 책을 참고했다! import sys input = sys.stdin.readline n = int(input()) dp = [[0 for _ in range(11)] for i in range(n+1)] mod = 1000000000 for i in range(1, 10): dp[1][i] = 1 for i in range(2, n+1): dp[i][0] = dp[i-1][1] dp[i][9] = dp[i-1][8] for j in range(1, 9): dp[i][j] .. 2024. 8. 29. 087 2×n 타일링 첫번째 코드 점화식을 세울 때는 쉬운 듯 했지만 나의 점화식과 차이가 있었다.나는 단순히 D[n] = D[n-1] + 1 (n-2에서 가로로 놓은 경우)라고 생각하였다.하지만 D[n] = D[n-1] + D[n-2]이었는데, 생각해보니 마지막이 가로로 되는 경우 다른 배열들이 모두 달라지기 때문에 이게 맞는 점화식이다. 코드는 점화식을 기반으로 작성하였으나, 오류가 나서 책을 참고한 결과처음 조건들을 주지 않아 문제가 생긴 것이었다. import sys input = sys.stdin.readline n = int(input()) dp = [0] * (1001) mod = 10007 dp[1] = 1 dp[2] = 2 for i in range(3, n+1): dp[i] = (dp[i-1] + d.. 2024. 8. 29. 086 이친수 첫번째 코드 점화식을 세우는 방법에서 어려움이 있었다.도리어 책의 개념을 통해 이해하면서 나는 왜 이런 생각을 못했지... 싶었다 ㅎㅎ;책을 기반으로 코드를 작성한 후 책을 참고하여 수정하였다. import sys input = sys.stdin.readline n = int(input()) dp = [[0 for _ in range(2)] for _ in range(n+1)] dp[1][1] = 1 dp[1][0] = 0 for i in range(2, n+1): dp[i][0] = dp[i-1][1] + dp[i-1][0] dp[i][1] = dp[i-1][0] print(dp[n][0] + dp[n][1]) 통과!링크https://github.com/ornni/programmers/t.. 2024. 8. 27. 085 퇴사 첫번째 코드 아직은 하나의 리스트로 작성되어 dp 이해에 문제가 되지는 않는다..하지만 2차원이나 그 이상으로 가게 되면...어...일단 나중에 경험해보자! 코드는 책을 참고했다! import sys input = sys.stdin.readline n = int(input()) dp = [0] * (n+2) time = [0] * (n+1) price = [0] * (n+1) for i in range(1, n+1): time[i], price[i] = map(int, input().split()) for i in range(n, 0, -1): if time[i] + i > n+1: dp[i] = dp[i+1] else: dp[i] = max(dp[i+1.. 2024. 8. 27. 이전 1 ··· 5 6 7 8 9 10 11 ··· 49 다음 728x90