[프로그래머스/스택] 프린터 - 파이썬

2022. 3. 7. 23:36· Problem Solving/CT-Python
목차
  1. 문제
  2. 내가 푼 코드
  3. enumerate를 사용해 처음에 작성한 코드보다 두배 빠름

문제

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

 

코딩테스트 연습 - 프린터

일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린

programmers.co.kr

내가 푼 코드

def solution(priorities, location):
    localist = [i for i in range(0, len(priorities))]
    count = 0
    while priorities:
        maximum = max(priorities)
        poppriorities = priorities.pop(0)
        if poppriorities < maximum:
            priorities.append(poppriorities)
            localist.append(localist.pop(0))
        else:
            count+=1
            delindex = localist.pop(0)
            if delindex == location:
                break
    return count

 

location의 위치를 어떻게 해야할지 감이 안잡혀서 힌트를 보고 풀었는데 풀고나서 되게 찝찝했다.

location의 위치와 우선순위와 매핑하고 싶은데 마땅한 방법이 떠오르지않아서 리스트 한개 더 선언하였다.

내장함수 enumerate가 있는지도 모르고 max값을 뽑기위해 for문 돌리니까 시간 엄청 잡아먹었다.

공식문서에 나와있는 내장함수를 적극 이용해야겠다.

enumerate를 사용해 처음에 작성한 코드보다 두배 빠름

def solution(priorities, location):
    printer = [(i,p) for i, p in enumerate(priorities)]
    count = 0
    while printer:
        job = printer.pop(0)
        if any(job[1] < other_job[1] for other_job in printer):
            printer.append(job)
        else:
            count+=1
            if job[0] == location:
                break;
    return count

'Problem Solving > CT-Python' 카테고리의 다른 글

[백준/그리디] 2217: 로프 - 파이썬  (0) 2022.03.10
[백준/그리디] 10610: 30 - 파이썬  (0) 2022.03.08
[프로그래머스/스택] 다리를 지나는 트럭 - 파이썬  (0) 2022.03.06
[프로그래머스] 소수찾기 - 파이썬 - 에라토스테네스의 체  (0) 2022.03.03
[백준/스택] 1158: 요세푸스 문제 - 파이썬  (0) 2021.09.23
  1. 문제
  2. 내가 푼 코드
  3. enumerate를 사용해 처음에 작성한 코드보다 두배 빠름
'Problem Solving/CT-Python' 카테고리의 다른 글
  • [백준/그리디] 2217: 로프 - 파이썬
  • [백준/그리디] 10610: 30 - 파이썬
  • [프로그래머스/스택] 다리를 지나는 트럭 - 파이썬
  • [프로그래머스] 소수찾기 - 파이썬 - 에라토스테네스의 체
White Han
White Han
Software Developer
sudo apt-get happinessSoftware Developer
White Han
sudo apt-get happiness
White Han
전체
오늘
어제
  • 분류 전체보기 (195)
    • Language (47)
      • Java (17)
      • Java-Weekly-study (12)
      • Python (18)
    • BackEnd (11)
      • Server (2)
      • Spring (3)
      • Spring Security (0)
      • JDBC (1)
      • NodeJS (2)
      • LINUX (3)
    • DataBase (10)
      • MySQL (5)
      • MongoDB (4)
      • Oracle (1)
    • Infra (4)
      • Docker (4)
    • CS (38)
      • OS (38)
      • 아키텍쳐 (0)
    • Problem Solving (79)
      • Algorithm (8)
      • CT-Java (30)
      • CT-Python (41)
    • IDE (1)
      • eclipse (1)
      • vscode (0)
    • Etc. (3)
      • Git (1)
      • TDD, Refactor, CleanCode (1)
      • Conference (1)
    • 기록 (2)
      • 후기 (1)
      • 프로젝트 회고록 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

  • 방문해 주셔서 감사합니다.

인기 글

태그

  • Java this
  • Java super
  • 운영체제 역할
  • SSAFY
  • OS
  • 사무용 모니터
  • 자바 super
  • 싸피
  • 사무용 모니터 추천
  • 싸피8기
  • javascript identifier
  • 자바스크립트 식별자
  • 자바스크립트 개념
  • 자바스크립트
  • AOC 24B1X
  • javascript
  • 프로세스
  • 자바 inheritance
  • 운영체제 구조
  • 자바 this
  • 자바스크립스 식별자 종류
  • 운영체제
  • 알파스캔 AOC 24B1X
  • Java Inheritance
  • 싸피 후기
  • 24인치 모니터 추천
  • 싸피 합격
  • java
  • 알파스캔 모니터
  • 프로세서

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
White Han
[프로그래머스/스택] 프린터 - 파이썬
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.