๊ฐœ๋ฐœ์ž 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)

2023. 4. 10. 14:24

 

 


 

 

๐Ÿค” ํ’€์ด ์ฝ”๋“œ

from collections import deque

def solution(numbers):
    answer = [-1 for i in range(len(numbers))]
    stack = deque()
    
    for idx, now in enumerate(numbers):
        if not stack:
            stack.append([idx, now])
            continue
        
        top_idx, top_now = stack[-1]
        while stack and now > top_now:
            stack.pop()
            answer[top_idx] = now
            if stack:
                top_idx, top_now = stack[-1]
        
        stack.append([idx, now])
    
    return answer

 

๐Ÿค” ๋ฌธ์ œ ํ’€์ด

 

์šฐ์„ , ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋ณด๋ฉด numbers์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 100๋งŒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, 2์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„ ์ธก๋ฉด์—์„œ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

 

์ด์ค‘ for๋ฌธ์˜ ๊ตฌํ˜„์œผ๋กœ ๋ณด๋ฉด, ํ˜„์žฌ ์ˆ˜๋ฅผ ์„ ํƒํ•˜๊ณ  ๋’ค์˜ ๋ชจ๋“  ์ˆ˜์™€ ๋น„๊ตํ•ด์„œ ๋’ค ํฐ์ˆ˜๋ฅผ ์ฐพ๋Š” ์‹์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ,

์ตœ์•…์˜ ๊ฒฝ์šฐ๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

[100๋งŒ, 999999, 999998, ... 1]๊ณผ ๊ฐ™์€ ์˜ˆ์‹œ๊ฐ€ ์žˆ๋‹ค๋ฉด, ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์ตœ๊ณ ๋กœ ๋†’์€ ์—ฐ์‚ฐ์„ ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์„ ํƒํ•œ ๋ฐฉ๋ฒ•์€ ์Šคํƒ(Stack)์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ์„  result์˜ ๊ฐ’์„ ๋ชจ๋‘ -1๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ ํ›„, numbers์˜ ์ˆซ์ž๋“ค์— ๋Œ€ํ•ด Stack์—์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์Šคํƒ์— ๋„ฃ๋Š” ์ˆ˜๋Š” [ํ˜„์žฌ ์ˆซ์ž์˜ ์ธ๋ฑ์Šค, ํ˜„์žฌ ์ˆซ์ž]๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค.

 

์Šคํƒ์ด ๋น„์–ด์žˆ๋‹ค๋ฉด, ๊ทธ๋ƒฅ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด, ์Šคํƒ์˜ top๊ณผ ํ˜„์žฌ ๊ฐ’์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ฐ’์ด ๋” ํฌ๋‹ค๋ฉด, ๋’ค ํฐ์ˆ˜์— ํ•ด๋‹นํ•˜๋ฏ€๋กœ, pop ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์Šคํƒ์˜ ๋‚ด์šฉ์„ ๊บผ๋‚ด๊ณ , ๋‚ด์šฉ๋ฌผ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด result์˜ ๊ฐ’์„ ํ˜„์žฌ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

์ด๋•Œ, ๊น”๋ ค์žˆ๋˜ ์›์†Œ์— ๋Œ€ํ•ด์„œ๋„ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— while๋ฌธ์œผ๋กœ ๊ณ„์†ํ•ด์„œ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

 

์œ„์™€ ๊ฐ™์€ ์ž‘์—…์ด ๋๋‚˜๋ฉด, ํ˜„์žฌ ์ˆซ์ž์— ๋Œ€ํ•ด์„œ๋„ ๋’ค ํฐ์ˆ˜๋ฅผ ์ฐพ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— stack์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

 

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ (level3, python)  (0) 2023.04.10
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ (level2, python)  (0) 2023.04.10
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜ (level2, python)  (0) 2022.10.14
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋„๋‘‘์งˆ (level4, python)  (0) 2022.10.14
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‹ฐ์ปค ๋ชจ์œผ๊ธฐ(2) (level3, python)  (0) 2022.10.14
    '๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ (level3, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ (level2, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜ (level2, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋„๋‘‘์งˆ (level4, python)
    ๊ฐœ๋ฐœ์ž HOON
    ๊ฐœ๋ฐœ์ž HOON
    ์ข‹์€ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. # ์ฃผ๋‹ˆ์–ด # ๋ฐฑ์—”๋“œ # ๊ฐœ๋ฐœ์ž

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”