내가 생각한 풀이가능한 모든 경우를 순열을 이용해 구해야 한다.(itertools 모듈이용)이때 1번타자는 반드시 4번째 여야 하므로 리스트 슬라이싱을 통해 1번타자를 제외한 타자들의 순열을 구한후 1번타자를 insert를 이용해 넣어준다 permutations를 이용
프랙탈처럼 어떤 세분화된 소 문제로 쪼갤수 있다면 분할정복 알고리즘을 사용해야한다. 분할정복법 (Devide & Conquer) 큰문제를 작은문제로 분할해 재귀적으로 해결 시간복잡도 : O(n) 이다.
building_list 에 전부 담는다 하나씩 확인한다 time(n): n번째 건물의 짓는 시간을 리턴 i 번째 요소 : while 선수 건물 넘버n 확인 -> n 번째 요소의 선수 건물 넘버 k 확인 -> k 번째 요소의 선수 건물 넘버 for 리스
동적프로그래밍 1\. Top-down: 메모이제이션 2\. Buttom-up :상향식 계산법
1 0 1 2 0 1 2 3 y-x : 1 ( ) 1 1 1 2 1 1 3 1 1 1 4 1 ...
bfs 이용하는 문제!
아까 미네랄도 그렇고 크게 뭉치를 하나로 보는 그런 방법을 잘 모르겠다.
왜 100000이 맥스인데 100001을 곱해줘야 하는가01로 그냥 존재 여부만 확인하는 것이 시간초과를 막음
왜시간초과...?
과정중에서 ctn 의 정의를 어떻게 해야하는 지 너무 헷갈린다....