완전 탐색 알고리즘

xlxlshinee·2021년 6월 24일
0

알고리즘

목록 보기
5/6

완전 탐색

: 완전 탐색은 brute force method라고도 합니다. 이는 선형 검색을 단순한게 확장한 알고리즘이라서 단순법이라고도 합니다.

모의고사 ✅

def solution(answers):
    student = {1:[1,2,3,4,5], 2:[2,1,2,3,2,4,2,5], 3:[3,3,1,1,2,2,4,4,5,5]}
    score = {1:0, 2:0, 3:0}
    for idx, answer in enumerate(answers):
        for key, value in student.items():
            if answer == value[idx % len(value)]:
                score[key] += 1 
    highest = max(score.values()) 
    result = [key for key, value in score.items() if value == highest] 
    return result

소수 찾기 ✅

from itertools import permutations

def solution(numbers):
    answer = []
    for i in range(1, len(numbers) + 1):
        for j in permutations(list(numbers), i):
            comb = int(''.join(j))
            for k in range(2, comb):
                if comb % k == 0:
                    break
            else:  # else가 여기 있는 이유는 아마 위에서 나눠 떨어지면 break로 나가게 되어 조건문을 못 쓰이니까 나가져도 다음 조건문 쓰이게...?
                if comb not in answer and comb > 1:
                    answer.append(comb)
    return len(answer)
profile
늦더라도 차근 차근 앞으로 걷기

0개의 댓글