본문 바로가기

python/알고리즘

(2)
[완전탐색] 프로그래머스 피로도(python) 안녕하세요 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최종코드 from itertools import permutations def solution(k, dungeons): randomList = permutations(dungeons, len(dungeons)) count = 0 k2 = k for random in randomList: c = 0; k2 = k for r in random: if k2count else count ..
[최단거리] 편집 거리. 이해하기 어려우시다고요? 편집거리 어떤 문자열에서 다른 문자열로 삽입, 삭제, 수정 세 가지 연산을 이용하여 변환할 때 해당 연산의 횟수를 편집거리라고 한다. 알고리즘 algorithmic을 altruistic로 변환한다. 1. 먼저 앞에 al은 동일하기 때문에 어떤 연산도 하지 않는다. 2. g를 t로 바꾸는 수정연산을 한다. 3. o를 r로 바꾸는 수정연산을 할 수도 있지만, 그런 것보다 o를 삭제하고 그 다음 r을 유지하는 것이 편집거리를 줄일 수 있으므로 o를 삭제하는 삭제 연산을 진행한다. 이렇게 o를 삭제하고 그 뒤의 r을 활용한다. 4. 원래는 i=> u로 바꾸는 수정연산을 해야 하지만, 그것보다는 앞에 u를 추가하는 것이 편집거리를 줄일 수 있으므로 u를 추가하는 추가연산을 진행한다. 5. 이제 말하지 않아도 알 ..