완전 탐색 알고리즘
[프로그래머스] 🎨 카펫 문제 / python
[프로그래머스] 🎨 카펫 문제 / python
2019.02.15--- --- 🎨 카펫 문제 풀어보기 😃 나의 코드 def solution(brown, red): for a in range(1, int(red**0.5)+1): if not red % a: b = red // a if 2*a + 2*b + 4 == brown: return [b+2, a+2] 완전 탐색(exhaustive search)를 이용하여 푸는 문제입니다. 빨간색의 가로를 A, 세로를 B라고 했을 때, 주어진 값 red는 A*B가 되고 brown은 2(A+B)+4가 됩니다. 이제 A와 B에 찾는 과정입니다. red를 두 자연수 곱의 쌍으로 봤을 때, 중복된 곱의 쌍을 없엔다면 A의 범위는 red의 제곱근의 내림값보다 작거나 같을 것입니다. 이를 통해 얻은 자연수 A와 B의 쌍이 brown에 값에..
[프로그래머스] 👩🏫 모의고사 / python
[프로그래머스] 👩🏫 모의고사 / python
2019.02.15👩🏫 모의고사 문제 풀어보기 😃 나의 코드 def solution(answers): peoplePatternArray = [[1,2,3,4,5], [2,1,2,3,2,4,2,5], [3,3,1,1,2,2,4,4,5,5]] scoreArray = [0,0,0] result = [] for idx, answer in enumerate(answers): for i in range(0,len(peoplePatternArray)): if answer == peoplePatternArray[i][idx%len(peoplePatternArray[i])]: scoreArray[i] += 1 for idx, s in enumerate(scoreArray): if s == max(scoreArray): result.ap..
[알고리즘] 🤷♂️ 완전 탐색 알고리즘 / exhaustive search algorithm
[알고리즘] 🤷♂️ 완전 탐색 알고리즘 / exhaustive search algorithm
2019.02.15출제 빈도 높음 평균 점수 낮음 🤷♂️ 완전 탐색 알고리즘(exhaustive search algorithm)?PS(Problem Solving)을 하는 데 가장 간단하고 쉬운 방법이 무엇일까요? 답은 가능한 경우를 다 해보는 것입니다. 이게 무슨 알고리즘이야? 할 수 있겠지만, 이것도 알고리즘에 일종입니다. 전산학에서는 이를 무식하게 푼다라는 뜻의 Brute-force라 하고, 전체를 확인한다고 해서 완전 탐색 알고리즘(exhaustive search algorithm)이라고 합니다. 👉 어디에 쓰이는가?하지만 대부분의 문제들은 시간 초과등의 이유로 완전 탐색으로 풀리지 않습니다. 하지만 어려운 알고리즘을 생각할 필요 없이 완전 탐색으로 풀리는 문제도 있으며, 가끔 어려운 완전 탐색 문제도 존재합니다..