분류 전체보기 54

[python] 백준 9461 번 : 파도반 수열 (실버 3)

https://www.acmicpc.net/problem/9461수학 관련 문제는 규칙성만 찾으면 쉽게 풀 수 있다. 규칙성을 찾기 위해서 일단은 수기로 추가로 삼각형의 길이를 계속 구해봤다.1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, 465, 616 ... 뭔가 뒤에것을 더해서 앞에 값에 추가하는 규칙성이 있는거 같아서 숫자가 커질때마다 커진 정도를 구해봤다.0, 0, 1, 0, 1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49 ...  놀랍게도 위와 숫자가 겹치는 것을 볼수 있다. 4번째 이전 숫자와 현재 숫자를 더하면 그 다음 숫자를 구할 수 있..

코딩테스트 2024.07.23

[python] 백준 9375 : 패션왕 신해빈 (실버 3)

https://www.acmicpc.net/problem/9375입력이 아래와 같을 때23hat headgearsunglasses eyewearturban headgear3mask facesunglasses facemakeup faceheadgear 의 경우 2개 eyewear의 경우 1개가 있다.(2+1) * (1+1) - 1 = 5 이다. 옷을 입지 않는 경우가 있으므로 각 경우에 +1 을해주면 되고, 옷을 아예 안입으면 안되므로 -1 을 해준다.2번째 케이스의 경우도 (3+1) - 1 = 3 이다.test = int(input())for t in range(test): n = int(input()) cloth = dict() for _ in range(n): value ..

코딩테스트 2024.07.22

[python] 1389 번 : 케빈 베이컨의 6단계 법칙 (실버 1)

https://www.acmicpc.net/problem/1389해당 문제를 먼저 dfs 로 풀었는데 계속 메모리 초과가 발생하였다. import sysinput = sys.stdin.readlinen , m = map(int,input().split())nodes = [[] for _ in range(n+1)]stack1 = list()stack2 = list()result = [0 for _ in range(n+1)]for _ in range(m): start , end = map(int,input().split()) nodes[start].append(end) nodes[end].append(start)for i in range(1,n+1): count = 0 for j ..

코딩테스트 2024.07.19

[python] 백준 2579 : 계단 오르기 (실버 3)

https://www.acmicpc.net/problem/2579 해당 문제는 동적 프로그래밍으로 푸는 문제였고, 어떻게 구현하는지 몰라 gpt의 도움을 받아 작성했다. 그래도 코드에 대해서 100프로는 이해하지 못한거 같다... 다른 동적 프로그래밍 문제를 더 풀어봐야 할거 같다....stair = int(input())stairs = [int(input()) for _ in range(stair)]dp = [0 for _ in range(stair)]while True: if stair == 1: print(stairs[0]) break elif stair == 2: print(stairs[0]+stairs[1]) break dp[0]..

코딩테스트 2024.07.18