목록코딩 테스트 (186)
미소를뿌리는감자의 코딩
1. 문제https://www.acmicpc.net/problem/2098 2. 접근 방법https://www.geeksforgeeks.org/travelling-salesman-problem-using-dynamic-programming/ Travelling Salesman Problem using Dynamic Programming - GeeksforGeeksTravelling Salesman Problem (TSP): Given a set of cities and distance between every pair of cities, the problem is to find the shortest p ossible route thatwww.geeksforgeeks.org 내가 사랑하는 긱스 뽈 긱스,..
1. 문제https://www.acmicpc.net/problem/11049 2. 접근 방법https://www.youtube.com/watch?v=Tdl6VP4bS90 이 문제는 행렬의 계산 횟수를 구하는 문제이다. 위 영상이 이해에 큰 도움을 주었다.그림으로 설명하기 위해 아래 그려 보았다.(ABC)(DEFGH) 로 묶었다고 가정하였을 때, 계산 횟수는 z * c* h 가 된다. 즉, 이를 list를 이용해서 표현해 보면, row[x] * column[k] * column[y] 이다. 이후, 재귀적으로 ABC에 대해서, 그리고 (DEFGH)에 대해서 탐색해야 하므로이를 다시 dfs에 범위를 재설정하여 넣어준다. 탈출 조건은 x와 y가 같은 값을 지닐 때, 이다.또한 memoization을 사용해 주어..
1. 문제https://www.acmicpc.net/problem/1931 2. 접근 방법문제 풀이는 생각보다 간단하다. 종료 시간을 기준으로 정렬하면 된다.이후, for 문을 돌면서, 현재 선택된 강의의 종료시간 보다, 시간 시간이 늦는 강의를 고르게 된다면,가장 빨리 강의가 끝나는 강의를 고르게 될 것이다. 여기서 lambda x: (x[1], x[0]) 에서 x[0] 은 왜 sorting을 해주는 지에 의문이 들었다.시작 시간은 상관이 없는 것 아닌가? 끝나는 시간이 같다면, 2-5이든 3-5이든 같다고 생각했다. 따라서, 질문 게시판에서 반례를 찾아보다 아래 반례를 찾았다.https://www.acmicpc.net/board/view/148737 "회의의 시작기간과 끝나는 시간이 같을 수 있다"이..
1. 문제https://www.acmicpc.net/problem/90842. 접근 방법이 문제를 해결하기 위해 우선 돈의 가치를 받은 후, 내림차순으로 정렬해주었다.이를 통해 큰 값을 지닌 동전의 몫에 따라 값을 확인할 수 있도록 하였다.차례로 몫에 따라, dfs 함수를 호출 해 주고, i == n-1이라면 마지막 동전이기 떄문에, 나머지가 0이라면 1을 return 해 주었다. 이후, count_coin이라는 함수를 작성하였다.total은 남은 금액을 의미하고, i는 동전의 순서를 의미한다. c_dict는 이전에 동일하게 계산한 값이 있다면 해당 dictionary 값을 반환해 주었다. c_dict[(i, total)] 을 통해서, 같은 값에 접근하게 된다면 딕셔너리 값을 반환해 주었다.i 는 동전의..