개발자 HOON
πŸ› HOON DEVLog
개발자 HOON
전체 방문자
였늘
μ–΄μ œ
  • 😎 전체 μΉ΄ν…Œκ³ λ¦¬ (137)
    • πŸ“ μ‹ μž… 인터뷰 μ€€λΉ„ (7)
    • πŸ¦” μ·¨μ—…μ€€λΉ„ 기둝 (7)
    • β˜• μžλ°” : JAVA (5)
    • 🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS (80)
    • 🌱 λ°±μ—”λ“œ : Backend (13)
    • πŸ§ͺ 컴퓨터과학 : CS (11)
    • πŸ—‚ λ°μ΄ν„°λ² μ΄μŠ€ : DB (1)
    • πŸƒ‍♂️ DEVLOG (8)
    • βš™οΈ Trouble Shooting (5)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • GitHub
  • Resume

곡지사항

인기 κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
개발자 HOON

πŸ› HOON DEVLog

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] ν”„λ¦°ν„° (level2, python)
🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] ν”„λ¦°ν„° (level2, python)

2022. 9. 12. 17:40

문제 μ„€λͺ…

 

일반적인 ν”„λ¦°ν„°λŠ” 인쇄 μš”μ²­μ΄ λ“€μ–΄μ˜¨ μˆœμ„œλŒ€λ‘œ μΈμ‡„ν•©λ‹ˆλ‹€. κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μ€‘μš”ν•œ λ¬Έμ„œκ°€ λ‚˜μ€‘μ— 인쇄될 수 μžˆμŠ΅λ‹ˆλ‹€. 이런 문제λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ μ€‘μš”λ„κ°€ 높은 λ¬Έμ„œλ₯Ό λ¨Όμ € μΈμ‡„ν•˜λŠ” ν”„λ¦°ν„°λ₯Ό κ°œλ°œν–ˆμŠ΅λ‹ˆλ‹€. 이 μƒˆλ‘­κ²Œ κ°œλ°œν•œ ν”„λ¦°ν„°λŠ” μ•„λž˜μ™€ 같은 λ°©μ‹μœΌλ‘œ 인쇄 μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

 

1. 인쇄 λŒ€κΈ°λͺ©λ‘μ˜ κ°€μž₯ μ•žμ— μžˆλŠ” λ¬Έμ„œ(J)λ₯Ό λŒ€κΈ°λͺ©λ‘μ—μ„œ κΊΌλƒ…λ‹ˆλ‹€.
2. λ‚˜λ¨Έμ§€ 인쇄 λŒ€κΈ°λͺ©λ‘μ—μ„œ J보닀 μ€‘μš”λ„κ°€ 높은 λ¬Έμ„œκ°€ ν•œ κ°œλΌλ„ μ‘΄μž¬ν•˜λ©΄ Jλ₯Ό λŒ€κΈ°λͺ©λ‘μ˜ κ°€μž₯ λ§ˆμ§€λ§‰μ— λ„£μŠ΅λ‹ˆλ‹€.
3. κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄ Jλ₯Ό μΈμ‡„ν•©λ‹ˆλ‹€.

 

예λ₯Ό λ“€μ–΄, 4개의 λ¬Έμ„œ(A, B, C, D)κ°€ μˆœμ„œλŒ€λ‘œ 인쇄 λŒ€κΈ°λͺ©λ‘μ— 있고 μ€‘μš”λ„κ°€ 2 1 3 2 라면 C D A B 순으둜 μΈμ‡„ν•˜κ²Œ λ©λ‹ˆλ‹€.

λ‚΄κ°€ 인쇄λ₯Ό μš”μ²­ν•œ λ¬Έμ„œκ°€ λͺ‡ 번째둜 μΈμ‡„λ˜λŠ”μ§€ μ•Œκ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μœ„μ˜ μ˜ˆμ—μ„œ CλŠ” 1번째둜, AλŠ” 3번째둜 μΈμ‡„λ©λ‹ˆλ‹€.

 

ν˜„μž¬ λŒ€κΈ°λͺ©λ‘μ— μžˆλŠ” λ¬Έμ„œμ˜ μ€‘μš”λ„κ°€ μˆœμ„œλŒ€λ‘œ λ‹΄κΈ΄ λ°°μ—΄ priorities와 λ‚΄κ°€ 인쇄λ₯Ό μš”μ²­ν•œ λ¬Έμ„œκ°€ ν˜„μž¬ λŒ€κΈ°λͺ©λ‘μ˜ μ–΄λ–€ μœ„μΉ˜μ— μžˆλŠ”μ§€λ₯Ό μ•Œλ €μ£ΌλŠ” location이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, λ‚΄κ°€ 인쇄λ₯Ό μš”μ²­ν•œ λ¬Έμ„œκ°€ λͺ‡ 번째둜 μΈμ‡„λ˜λŠ”μ§€ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.


μ œν•œμ‚¬ν•­

 

  • ν˜„μž¬ λŒ€κΈ°λͺ©λ‘μ—λŠ” 1개 이상 100개 μ΄ν•˜μ˜ λ¬Έμ„œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
  • 인쇄 μž‘μ—…μ˜ μ€‘μš”λ„λŠ” 1~9둜 ν‘œν˜„ν•˜λ©° μˆ«μžκ°€ 클수둝 μ€‘μš”ν•˜λ‹€λŠ” λœ»μž…λ‹ˆλ‹€.
  • location은 0 이상 (ν˜„μž¬ λŒ€κΈ°λͺ©λ‘μ— μžˆλŠ” μž‘μ—… 수 - 1) μ΄ν•˜μ˜ 값을 κ°€μ§€λ©° λŒ€κΈ°λͺ©λ‘μ˜ κ°€μž₯ μ•žμ— 있으면 0, 두 λ²ˆμ§Έμ— 있으면 1둜 ν‘œν˜„ν•©λ‹ˆλ‹€.

μž…μΆœλ ₯ 예

μž…μΆœλ ₯ 예 μ„€λͺ…

 

예제 #1

λ¬Έμ œμ— λ‚˜μ˜¨ μ˜ˆμ™€ κ°™μŠ΅λ‹ˆλ‹€.

 

예제 #2

6개의 λ¬Έμ„œ(A, B, C, D, E, F)κ°€ 인쇄 λŒ€κΈ°λͺ©λ‘μ— 있고 μ€‘μš”λ„κ°€ 1 1 9 1 1 1 μ΄λ―€λ‘œ C D E F A B 순으둜 μΈμ‡„ν•©λ‹ˆλ‹€.


풀이 μ½”λ“œ

from collections import deque

def solution(priorities, location):
    answer = 0
    queue = deque(priorities)
    
    while queue:
        val = queue.popleft()
        location -= 1
        
        if queue:
            if val < max(queue):
                queue.append(val)
                if location == -1:
                    location = len(queue) - 1
            else:
                answer += 1
                if location == -1:
                    break
        else:
            answer += 1
            break
                
                
    return answer

큐 자료ꡬ쑰λ₯Ό μ΄μš©ν•΄ ꡬ할 수 μžˆλ‹€.

μ•žμ—μ„œ λΉ μ Έλ‚˜κ°ˆ λ•Œλ§ˆλ‹€ λ‚΄κ°€ κ΅¬ν•˜κ³ μž ν•˜λŠ” μœ„μΉ˜ μ—­μ‹œ ν•œ μΉΈ μ•žμœΌλ‘œ 당겨진닀.

제일 μ•žμ— μžˆλŠ” κ°’ (val)이 λ‚˜λ¨Έμ§€ 큐 내뢀에 μžˆλŠ” μ΅œλŒ€κ°’ (max(queue))보닀 μž‘μœΌλ©΄ λ’€λ‘œ λ„£λŠ”λ‹€.

val이 λ‚΄κ°€ κ΅¬ν•˜κ³ μž ν•˜λŠ” λ¬Έμ„œμ˜€λ‹€λ©΄ location이 -1이 λ˜μ—ˆμ„ κ²ƒμ΄λ―€λ‘œ, κ°€μž₯ λ’€λ‘œ μ΄λ™ν–ˆλ‹€λŠ” 것을 λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ len(queue)-1둜 λ°”κΏ”μ€€λ‹€.

큐 μ΅œλŒ€κ°’λ³΄λ‹€ μ•žμ— μžˆλŠ” 값이 더 크면, 인쇄 μž‘μ—… ν•˜λ‚˜κ°€ 마무리 λ˜μ—ˆμœΌλ―€λ‘œ answer += 1 ν•΄μ£Όκ³ , 이 λ¬Έμ„œκ°€ κ΅¬ν•˜κ³ μžν•œ λ¬Έμ„œμ˜€λŠ”μ§€ 체크해주면 λœλ‹€.

 

 

 

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ 동일쑰건 (μƒˆμ°½μ—΄λ¦Ό)

'🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ „ν™”λ²ˆν˜Έ λͺ©λ‘ (level2, python)  (0) 2022.09.12
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ£Όμ°¨ μš”κΈˆ 계산 (level2, python)  (0) 2022.09.12
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] [1μ°¨] λ‰΄μŠ€ ν΄λŸ¬μŠ€ν„°λ§ (level2, python)  (0) 2022.09.12
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] kμ§„μˆ˜μ—μ„œ μ†Œμˆ˜ 개수 κ΅¬ν•˜κΈ° (level2, python)  (0) 2022.09.12
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ•Όκ·Ό μ§€μˆ˜ (level3, python)  (0) 2022.09.10
    '🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ „ν™”λ²ˆν˜Έ λͺ©λ‘ (level2, python)
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ£Όμ°¨ μš”κΈˆ 계산 (level2, python)
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] [1μ°¨] λ‰΄μŠ€ ν΄λŸ¬μŠ€ν„°λ§ (level2, python)
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] kμ§„μˆ˜μ—μ„œ μ†Œμˆ˜ 개수 κ΅¬ν•˜κΈ° (level2, python)
    개발자 HOON
    개발자 HOON
    쒋은 λ°±μ—”λ“œ μ—”μ§€λ‹ˆμ–΄κ°€ 되기 μœ„ν•œ 기둝을 λͺ¨μ•˜μŠ΅λ‹ˆλ‹€. # μ£Όλ‹ˆμ–΄ # λ°±μ—”λ“œ # 개발자

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”