목록Programmers_algorithm (2)

문제를 읽었을때 우선순위를 사용하므로 큐를 사용해야 한다. 인쇄 작업 방식을 그대로 구현하되, 내가 인쇄를 요청한 문서가 어디에 있는지, 몇번째에 프린트 되는지, 가장 높은 우선순위를 가졌는지 판단해야 한다. loacation 변수를 계속 변화하게 될 경우 구현이 복잡해 질 것 같아 pair를 사용해서 내가 인쇄 요청한 작업을 표시했고, 따로 함수를 만들어 내 작업이 가장 높은 우선순위를 가졌는지 판단했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #include #include #in..

프로그래머스에서 푼 첫번째 알고리즘 문제! 예시를 읽어보면 더욱 쉽게 문제를 이해 할 수 있다. 각 기능이 앞으로 몇일이 더 소요될지를 먼저 큐에 저장한다. 다음과 같이 주어질 경우, 큐에 7,3,9 순서대로 집어 넣는다. ------- 9 3 7 ------- 맨 앞의 값을 history에 저장한 후, 뒤의 값과 비교하면서 기능의 갯수를 카운트 하면 된다. 7을 pop 한후 history에 저장한다. 이후 q.front()는 3인데, history와 비교했을때, 값이 작으므로 7일 후에 두번째 기능이 발매 될 수 있다. 이런 경우 count++을 하고, history는 7로 유지! pop()을 한 후, 다음 q.front()는 9인데, 이 기능은 7일 이후에 완료 된다는 의미 이므로 일단 지금까지 co..