코딩 테스트/do it! 알고리즘 코딩테스트100 075 LCA2 (미해결) 첫번째 코드 코드는 책을 보고 참고하는 중 이해가 되지 않은 부분이 있어 아직 작성을 하지 않는다.이해 후에 코드를 다시 작성할 예정이다.링크 2024. 8. 8. 076 이항 계수 1 첫번째 코드 코딩 테스트 문제를 풀면서 맨날 dp, dp 이야기는 들었는데 드디어 나왔다.오히려 반가운 마음도 들었다. 처음 풀어보는 dp문제이므로 방법을 알기 위해 코드는 책을 참고했다.이해가 비교적 쉬웠으나 암기할 내용들이 있고, 응용될 방법이 정말 많다는 생각이 들었다. import sys input = sys.stdin.readline n, k = map(int, input().split()) dp = [[0 for _ in range(n+1)] for _ in range(n+1)] for i in range(0, n+1): dp[i][1] = i dp[i][0] = 1 dp[i][i] = 1 for i in range(2, n+1): for j in range(1, .. 2024. 8. 8. 074 LCA (미해결) 첫번째 코드 최소 공통 조상 관련된 문제로 코드는 책을 참고했다.개념이나 그림으로 이해하면 이해는 편한데 사실 코드상에서 이해가 너무 어려웠다...사실 지금도 제대로 이해하고 있는지는 의문이다... ㅋㅋ; 그치만 개념은 이해가 되었기 때문에 차근차근 다음에도 풀어보면 이해할 수 있을 것이다. import sys from collections import deque input = sys.stdin.readline print = sys.stdout.write n = int(input()) tree = [[] for _ in range(n+1)] for _ in range(0, n-1): s, e = map(int, input().split()) tree[s].append(e) tree[.. 2024. 8. 6. 073 구간 곱 구하기 첫번째 코드 구간 합 구하기를 세그먼트로 풀어보았다면 아래 코드 이해는 어렵지 않을 것이다.하지만 곱하기를 이용하므로 MOD를 이용한다는 부분 정도를 생각한다면금방 변형해서 풀 수 있는 문제이다. import sys input = sys.stdin.readline n, m, k = map(int, input().split()) treeHeight = 0 length = n MOD = 1000000007 while length != 0: length //= 2 treeHeight += 1 treeSize = 2 ** (treeHeight + 1) leftNodeStartIndex = treeSize//2 - 1 tree = [1] * (treeSize + 1) for i in range(le.. 2024. 8. 6. 072 최솟값 첫번째 코드 물론 코드는 책을 참고했지만, 이전에 풀어본 세그먼트 코드에서해당 코드 부분마다 이해를 했기 때문에, 어느 코드를 빼야 하는지, 바꿔야 하는지에 대한 이해는 쉬웠다. 여러번 풀어보면 금방 풀 수 있을 것 같다.하지만 코드를 혼자 작성하는 데에는 단계단계 생각하면서 작성해야 할 것이다.또한 개념에서 암기를 해야 편한 부분이 있기 때문에 해당 부분도 이해해야 할 것이다. 나아가 함수가 많아지기 때문에 각 함수가 어디에 필요한지, 어떤 함수가 필요한지 익숙해져야 할 것이다. import sys input = sys.stdin.readline n, m = map(int, input().split()) treeHeight = 0 length = n while length != 0: lengt.. 2024. 8. 1. 071 구간 합 구하기 첫번째 코드 세그먼트 트리에 관련된 문제이다.개념에 따라서 천천히 책을 참고하면서 코드를 작성하면 이해하기 편하다.하지만 꾸준히 혼자 생각하면서 다음에 또 풀어봐야 할 문제이다. 점점 개념이 많아지면서 헷갈린다.한번만이 아니라 꾸준히 보면서 상기시켜야 할 것이다. import sys input = sys.stdin.readline n, m, k = map(int, input().split()) treeHeight = 0 length = n while length != 0: length //= 2 treeHeight += 1 treeSize = 2 ** (treeHeight + 1) leftNodeStartIndex = treeSize//2 - 1 tree = [0] * (treeSize +.. 2024. 8. 1. 이전 1 2 3 4 5 6 7 8 ··· 17 다음 728x90