프로그래머스 12

(파이썬) [알고리즘 문제 풀이] - 위장 (프로그래머스)

오늘은 프로그래머스에서 위장이라는 문제를 풀어 보았습니다. Input은 옷의 종류와 이름이 담긴 배열로 주어집니다. 옷의 종류는 중복이 있을수 있으나 옷의 이름은 모두 다릅니다. 예를 들면 같은 하의 라도 청바지가 있고 반바지가 있을수 있습니다. 이 부분을 보시면 떠오르는 자료구조가 있을껍니다. 파이썬에는 key와 value로 이루어진 dictionary가 있습니다. 옷의 종류가 key가 되고 옷의 이름이 value가 된다고 생각하시면 됩니다. 여기까지 왔으면 이 문제의 반은 해결했다고 보시면 됩니다. 이제부터 모든 경우의 수를 계산해야 되는데 매우 간단합니다. 만약 옷의 종류가 A,B,C 이렇게 3가지가 있다면, 더보기 (A 타입의 옷의 개수 + 1) * (B 타입의 옷의 개수 + 1) * (C 타입의..

[코딩테스트 준비] 완전 탐색 ( Brute-Force Search ) - 모의 고사 문제 (Python 풀이)

설명 완전 탐색이라는건 모든 경우의 수를 전부 찾고 그중에서 답을 찾는 알고리즘을 뜻한다. 완전 탐색을 하는 방법에는 여러가지가 있는데 이중에 가장 대표적인게 Brute-Force Search 또는 Brute-Force Attack이라고도 불린다. 단어 그대로 직역을 해보자면 무차별 검색 또는 무차별 공격이라고 나오는데 무슨 말인지 잘 감이 오질 않아서 영어로 된 설명을 좀 찾아보았다. "Trying every single possibility rather than advanced technique to improve efficiency" 나는 이게 좀 더 와 닿았다. 시간 효율 고려하지 말고 가능한 경우의 수는 다 보자는 얘기 였다. 그렇다면 최소한 문제 내에서 시간 제한을 넉넉하게 주지 않을까 하는 ..

Algorithm 2020.12.08