Skip to content

[Algorithm] 프린터 #171

Description

@hwangJi-dev

💬 문제

https://school.programmers.co.kr/learn/courses/30/lessons/42587


💬 Idea

1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다.
2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다.
3. 그렇지 않으면 J를 인쇄합니다.

💬 풀이

import Foundation
func solution(_ priorities:[Int], _ location:Int)->Int{varpriorities= priorities.reversed().map({Int($0)})varprintQueue:[Int]=[]varidx=abs(location -(priorities.count -1))while !priorities.isEmpty {letp= priorities.popLast()!
if p < priorities.max()?? p {
idx = idx == priorities.count ?0: idx +1
priorities.insert(p, at:0)}else{
printQueue.append(p)if idx == priorities.count {break}}}return printQueue.count
}

소요시간 : 30분

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions