프로그래머스 문제 2

[Python] 프로그래머스 문제: 타겟 넘버

https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 처음부터 하나씩 더하고 빼는 경우의 수를 다 구하는 건 비효율적이란 생각이 들어서 반대로 생각해보았다. 숫자들을 전부 더한 다음 거기서 타겟이 되도록 빼는 것이다. 숫자들의 총합은 (타겟이 되기 위한 숫자들 + 잉여 숫자들)이기 때문에 잉여 숫자들의 조합 경우의 수를 구하는 게 답을 구하는 거나 마찬가지이다...

알고리즘 2021.10.01

[Python] 프로그래머스 코딩테스트 연습 : 프린터

NWERC 2006 (Northwestern European Programming Contest)문제 programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr ==풀이== 딕셔너리에 문서의 인덱스와 그 문서의 우선순위를 저장한다. 우선순위의 최댓값을 구하고 나서 우선순위가 담긴 priorities배열을 하나씩 확인한다. 어떤 문서의 우선순위가 구했던 최댓값이랑 동일하면 그 문서를 출력해야 한다. 출력된 문서 개수를 1 더해주고 출력했다..

알고리즘 2021.04.30