-
[programmers/Swift] 프린터Archive/Questions 2022. 5. 11. 20:24728x90
programmers.co.kr - 코딩테스트연습 - Lv.2 - 스택/큐 - 프린터
Constraints :
- 현재 대기목록에는 1개 이상 100개 이하의 문서가 있습니다.
- 인쇄 작업의 중요도는 1~9로 표현하며 숫자가 클수록 중요하다는 뜻입니다.
- location은 0 이상 (현재 대기목록에 있는 작업 수 - 1) 이하의 값을 가지며 대기목록의 가장 앞에 있으면 0, 두 번째에 있으면 1로 표현합니다.
// // Created by Yongwoo Marco on 2022/05/09. // Copyright © 2022 Yongwoo Marco Kim. All rights reserved. // func solution(_ priorities:[Int], _ location:Int) -> Int { var queue = priorities.enumerated().map { ($0.element, $0.offset == location) } var count = 0 while !queue.isEmpty { let dequeue = queue.removeFirst() if queue.filter({ $0.0 > dequeue.0 }).count > 0 { queue.append(dequeue) } else { count += 1 guard !dequeue.1 else { break } } } return count } print(solution([2, 1, 3, 2], 2)) // 1 print(solution([1, 1, 9, 1, 1, 1], 0)) // 5
How I tried this :
통과하지 않았으면 제일 첫 부분을 없앨것 같다.편리성을 위해서 location을 지정해주고 반복문을 돌다보니
처음 priorities 수 만큼 반복이 일어나서 그 부분이 시간이 많이 들까봐 걱정했는데
해당 풀이도 다행이 통과되었다.
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90'Archive > Questions' 카테고리의 다른 글
[programmers/Swift] K번째수 (0) 2022.05.12 [programmers/Swift] 다리를 지나는 트럭 (0) 2022.05.12 [programmers/Swift] 위장 (0) 2022.05.11 [programmers/Swift] 체육복 (0) 2022.05.11 [programmers/Swift] 신규 아이디 추천 (2021 Kakao Blind Recruitment) (0) 2022.05.11