[백트래킹] 백준 가르침 문제에 대한 고찰, python

Kangho LEE·2021년 2월 3일
0

알고리즘고찰

목록 보기
8/12

🤔 바로 왜 풀지 못했을까?

사실 간단한 백트래킹 문제였지만, 조합을 탐색해야 하는 데 자꾸 순열을 탐색하는 실수를 했기 때문에 시간초과가 났고, 답이 틀린 것이 아니었기 때문에 어디가 많은 시간이 걸리는 지 찾가기 어려웠다. (나는 조합을 탐색하고 있다고 생각했고, 다른 전처리가 부족해서 생긴 문제인가 싶어서 이것저것 고치기만 반복 했다.)
시간 복잡도 21C15 * 50로 계산 까지 했기 때문에 충분히 시간안에 가능할 것이라 생각하고 풀었기 때문에 더 어렵게 생각 한 것 같다. 실제로 질문 검색판에도 나와 비슷한 실수를 하신 분들이 많은 것 같았다.

만약 시험이었으면 당황해서 더 못 찾았을 거 같다는 생각이 들어었다. 오늘의 실수로 인덱스를 넘겨주지 않고 처음부터 반복문을 도는 지 확인 해 보는 경험이 생겨 오히려 좋다고 느꼈다.

시험 때는 이런 실수를 하지 않도록 해야 겠다.

그리고 비트마스킹을 이용하지 않아도 풀이가 가능하다. 하지만 난 비트마스킹을 사용해서 풀었고 파이썬으로 시간안에 풀이가 가능했다.

문제 링크
https://www.acmicpc.net/problem/1062

내 답안 링크
https://github.com/Deserve82/KK_Algorithm_Study/blob/master/Kangho/BOJ_1062.py

profile
우유와 누텔라

1개의 댓글

comment-user-thumbnail
2021년 5월 14일

매우 스마트하게 코드를 짜셨네요 비트마스크 + 최적화('antic' 에 해당하는 반복 제거)

답글 달기