본문 바로가기

코딩 테스트291

080 조약돌 꺼내기 첫번쨰 코드 이번에는 단순하기 조합으로 풀기보다는 조금 더 생각해서점화식을 생각한 후에 해당 방법으로 코드를 작성해야 한다. 아이디어는 책과 동일하게 생각했지만,점화식을 코드로 구현하는 방법에서 책을 참고하였다. import sys input = sys.stdin.readline probability = [0] * 51 m = int(input()) colors = list(map(int, input().split())) total = 0 for i in colors:     total += i k = int(input()) answer = 0 for i in range(m):     if colors[i] >= k:         probability[i] = 1         for j in rang.. 2024. 8. 15.
079 다리 놓기 첫번째 코드 어차피 위>아래 순으로 연결될 예정이므로,단순히 m개 중 n개를 뽑는 경우의 수라고 생각하면 된다. 즉 처음에 생각한 조합의 코드를 참고하여 작성하면 된다!! dp 테이블 초기화 방법 생각 잘 하기!!- dp[i][1] = i- dp[i][0] = 1- dp[i][i] = 1 점화식 생각 잘 하기!!  dp[i][j] = dp[i-1][j] + dp[i-1][j-1]  import sys input = sys.stdin.readline question = int(input()) dp = [[0 for _ in range(31)] for _ in range(31)] for i in range(0, 31):     dp[i][1] = i     dp[i][0] = 1     dp[i][i] = .. 2024. 8. 15.
078 부녀회장이 될테야 첫번쨰 코드 이번에는 살짝 응용된 버전이었다.이정도는 단순하게 생각할 수 있는 느낌이지만, 더 많이 응용된다면... 으어 내 머리;그래도 일단 무서워하지 말고 풀어보장 코드는 책을 참고했다! import sys input = sys.stdin.readline dp = [[0 for _ in range(15)] for _ in range(15)] for i in range(1, 15):     dp[i][1] = 1     dp[0][i] = i for i in range(1, 15):     for j in range(2, 15):         dp[i][j] = dp[i][j-1] + dp[i-1][j] T = int(input()) for i in range(T):     k = int(input(.. 2024. 8. 13.
077 이항 계수 2 첫번째 코드 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, i):         dp[i][j] = dp[i-1][j] + dp[i-1][j-1]         dp[i][j] = dp[i][j] % 10007 print(dp[n][k]) 통과!링크https:/.. 2024. 8. 13.
문자열 내 p와 y의 개수 첫번째 코드대소문자를 구분하지 않으므로 모두 소문자로 변경한 후에 알파벳을 비교한다.전체 알파벳에 대하여 비교한 후, 개수가 일치한 경우 True, 아니면 False를 return 한다. def solution(s):     count_p = 0     count_y = 0          s = s.lower()          for i in s:         if i == 'p':             count_p += 1         elif i == 'y':             count_y += 1     if count_p == count_y:         return True     else:         return False 통과!링크https://github.com/ornn.. 2024. 8. 12.
이진트리 이진트리 binary tree 각 노드의 자식 노드(차수)의 개수가 2개 이하로 구성되어 있는 트리 - 평향 이진 트리노드들이 한쪽으로 편향되어 생성된 이진 트리- 포화 이진 트리트리의 높이가 모두 일정하며, 리프 노트가 꽉 찬 이진 트리- 완전 이진 트리마지막 level을 제외하고 완전하게 노드들이 채워지고, 마지막 level은 왼쪽부터 채워진 트리트리의 노드와 리스트의 인덱스 사이 상관관계이동 목표 노드인덱스 연산제약 조건 (n=노드개수)루트 노드Index=1 부모 노드Index= index/2현재 루트노드 아님왼쪽 자식 노드Index= index*2Index*2오른쪽 자식 노드Index= index*2+1Index*2+1 2024. 8. 11.
728x90