Programmers : ์ฃผ์‹๊ฐ€๊ฒฉ

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐Ÿ”’ Programmers : ์ฃผ์‹๊ฐ€๊ฒฉ

์ด ๋ฌธ์ œ๋Š” ํ˜„์žฌ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์Œ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ํ›‘์–ด์„œ ํ˜„์žฌ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’์ด ๋‚˜ํƒ€๋‚˜๋ฉด ๊ทธ ๊ฐ’์˜ ์ธ๋ฑ์Šค์— ํ˜„์žฌ ์ธ๋ฑ์Šค๋ฅผ ๋นผ์ฃผ๋ฉด ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ด๋‹ค.

๋‚˜๋Š” ๊ฑฐ๊พธ๋กœ prices ๋ฆฌ์ŠคํŠธ์˜ ๋๋ถ€๋ถ„๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

๐Ÿ”‘ ์ฝ”๋“œ

from collections import deque
def solution(prices):
    result = deque([])

    for i in range(len(prices)-1,-1,-1):
        if not result :
            result.appendleft(len(result))
            continue
        
        cnt = 0
        for j in range(i+1,len(prices)):
            cnt += 1
            if prices[i] > prices[j]:
                break
        result.appendleft(cnt)

    return list(result)

์ฒ˜์Œ ์ ‘๊ทผํ–ˆ์„ ๋•Œ, ๋’ค๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋ฉด ์ข€๋งŒ ๋” ๋น ๋ฅด์ง€ ์•Š์„๊นŒ? ๋ผ๋Š” ์ƒ๊ฐ์—์„œ ์ฝ”๋”ฉ์„ ํ–ˆ์œผ๋‚˜

์‹œ๊ฐ„๊ณ„์‚ฐ์„ ํ•ด๋ณด๋‹ˆ ๊ทธ๋ƒฅ ๋˜‘๊ฐ™์•˜๋‹ค. ํƒ€์ดํ•‘์„ ๋” ํ•˜๋Š” ๊ณ ์ƒ์„ ํ•œ ๊ฑฐ ๊ฐ™๋‹ค โ€ฆ๐Ÿ˜‚

์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ณ ์„œ O(n)์‹œ๊ฐ„์˜ ์‹คํ–‰์‹œ๊ฐ„์„ ๊ฐ–๋Š” ํ’€์ด ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜์˜€์œผ๋‚˜ ๋…ผ๋ฆฌ ์˜ค๋ฅ˜๋กœ ๋ง‰ํžˆ๊ณ  ๋ง์•˜๋‹ค..๐Ÿค”

์ฒœ์ฒœํžˆ ๋” ๊ณ ๋ฏผํ•ด๋ด์•ผ๊ฒ ๋‹ค ..

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ