ji_iin
iOSLog
ji_iin
전체 방문자
오늘
어제
  • 분류 전체보기 (56)
    • Swift (8)
    • iOS (6)
    • 알고리즘 (34)
    • CS (3)
    • 회고 (3)
    • 제품리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • opional
  • 알고리즘개념
  • Bye2023
  • 회고
  • swiftUI
  • 파이썬
  • 자바
  • 깊은복사와 얕은복사
  • 그래프탐색
  • 깊이우선탐색
  • 다이나믹 프로그래밍
  • 정렬
  • django
  • 너비우선탐색
  • ios
  • SWiFT
  • 백준
  • 공식문서
  • 백트래킹
  • 그래프이론
  • Python
  • 수학
  • 대기업코테
  • 재귀
  • 프로그래머스
  • 2022년 회고
  • 구조체와 클래스
  • 개발회고
  • 알고리즘
  • 브루트포스 알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ji_iin

iOSLog

[Python] 프로그래머스 고득점 Kit (스택/큐) : 프린터
알고리즘

[Python] 프로그래머스 고득점 Kit (스택/큐) : 프린터

2021. 10. 4. 20:23

문제

코딩테스트 연습 - 프린터

[ 문제 조건 ]

  • priorities : 현재 대기목록에 있는 문서의 중요도가 순서대로 담긴 배열
  • location : 내가 인쇄를 요청한 문서가 현재 대기목록의 어떤 위치에 있는지
  • return 값 : 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지

[ 해결순서 ]

  1. 처음에 문제를 풀 때 잘못 이해했다. 어떻게 이해했냐면 중요도가 중요도가 제일 높은 값을 발견할 때까지 계속 반복해서 앞에 값 뒤로 보내다가 최댓값이 발견되면 해당 인덱스가 몇번째인지 바로 리턴하게 코드를 짰다.
  2. 이렇게 풀면 프로그래머스에서 제시한 2가지 입출력 예에는 해당이 되지만 실패로 채점이 되고 다른 테스트 케이스에서는 제대로 작동하지 않는다.
  3. 반례로 priorities=[1,2,8,3,4]이고, location은 4, 출력은 2가 되어야 하지만 내 코드로 작성한다면 출력은 3이 나올 것이다. (* 손풀이 우측하단참고 )
  4. 그래서 모든 값을 돌리면서 우선순위 높은 값이 발견되면 그 우선순위 인덱스 값을 finish 배열에 저장하고, 기존 배열에서 제거한다.
  5. 더이상 배열이 없을 때까지 반복하고 우선순위가 높은 값들의 인덱스 번호가 담긴 finish 배열에서 loc위치의 인덱스번호를 리턴한다.

✏️한줄평

: 문제를 읽고도 무슨말인지 모르겠어서 한참 헤맸다. 뭔가 가독성이 떨어진달까.. 심지어 예제도 헷갈리게 우선순위 높은 값이 바로 발견되면 해당 인덱스 값만 출력해도 답이 맞는 케이스들만 제시해놔서 헷갈렸지만 의미있는 문제였다.


코드

 

저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

[Python] 2019 KAKAO BLIND RECRUITMENT - 오픈채팅방  (0) 2021.11.15
[Python] heapq 사용시 리스트를 heapify / 값 하나씩 heappush 차이점  (0) 2021.10.11
[Python] 프로그래머스 고득점 Kit (정렬) : K번째 수  (0) 2021.10.04
[알고리즘] dx, dy 좌표 상하좌우 탐색 로직  (0) 2021.09.27
[Python] 프로그래머스 고득점 Kit (해시) : 전화번호 목록  (0) 2021.09.20
    '알고리즘' 카테고리의 다른 글
    • [Python] 2019 KAKAO BLIND RECRUITMENT - 오픈채팅방
    • [Python] heapq 사용시 리스트를 heapify / 값 하나씩 heappush 차이점
    • [Python] 프로그래머스 고득점 Kit (정렬) : K번째 수
    • [알고리즘] dx, dy 좌표 상하좌우 탐색 로직
    ji_iin
    ji_iin
    개발성장일지🐥

    티스토리툴바