https://school.programmers.co.kr/learn/courses/30/lessons/42584
๋ฌธ์
๋ฌธ์ ์ค๋ช
์ด ๋จ์๋ก ๊ธฐ๋ก๋ ์ฃผ์๊ฐ๊ฒฉ์ด ๋ด๊ธด ๋ฐฐ์ด prices๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๋ช ์ด์ธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
์ ํ ์ฌํญ
- prices์ ๊ฐ ๊ฐ๊ฒฉ์ 1 ์ด์ 10,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- prices์ ๊ธธ์ด๋ 2 ์ด์ 100,000 ์ดํ์ ๋๋ค.
์ ์ถ๋ ฅ ์
prices | return |
[1, 2, 3, 2, 3] | [4, 3, 1, 1, 0] |
์์ค ์ฝ๋
# 1
def solution(prices):
n = len(prices)
answer = []
for i in range(n):
idx = 0
for j in range(i+1,n):
if prices[j] < prices[i]: # ํ์ฌ ์ฃผ์๊ฐ๊ฒฉ๋ณด๋ค ๋จ์ด์ง ๊ฒฝ์ฐ
idx = j # ๋จ์ด์ง ์์ ์ idx์ ์ ์ฅํ๊ณ ์ข
๋ฃ
break
if idx==0: # ํ์ฌ ์ฃผ์๊ฐ๊ฒฉ์์ ๋จ์ด์ง์ง ์์ ๊ฒฝ์ฐ
answer.append(n-i-1) # ์ ์ฒด ๊ธธ์ด์์ ํ์ฌ ์ธ๋ฑ์ค๋ฅผ ๋บ ๊ฐ
else:
answer.append(idx-i) # ๋จ์ด์ง ์์ ์์ ํ์ฌ ์ธ๋ฑ์ค๋ฅผ ๋บธ ๊ฐ
return(answer)
ํ์ด # 1
- ํ์ฌ์ ์ฃผ์๊ฐ๊ฒฉ์ i๋ฒ์งธ์ ์๋ ๊ฐ์ด๊ณ ๋๋จธ์ง ์ฃผ์๊ฐ๊ฒฉ์ j๋ฒ์งธ์ ์๋ ๊ฐ
- ํ์ฌ ์ฃผ์๊ฐ๊ฒฉ๊ณผ ๋๋จธ์ง ์ฃผ์๊ฐ๊ฒฉ์ ๋น๊ตํด์ ๊ฐ๊ฒฉ์ด ๋จ์ด์ง๋ ์์ ์ idx์ ์ ์ฅ
- ๊ฐ๊ฒฉ์ด ๋จ์ด์ก๋ค๋ฉด for๋ฌธ ๋น ์ ธ๋์ค๊ธฐ
- idx๊ฐ 0์ด๋ฉด ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ฒ์ด๋ฏ๋ก ์ ์ฒด๊ธธ์ด์์ ํ์ฌ ์ฃผ์๊ฐ๊ฒฉ์ ์ธ๋ฑ์ค ๋นผ๊ธฐ
- idx๊ฐ 0์ด ์๋๋ฉด ๊ฐ๊ฒฉ์ด ๋จ์ด์ง ์์ ์ด idx์ด๋ฏ๋ก ๋จ์ด์ง ์์ ์์ ํ์ฌ ์ธ๋ฑ์ค ๋นผ๊ธฐ
# 2
def solution(prices):
n = len(prices)
answer = [0] * n
for i in range(n):
for j in range(i+1, n):
answer[i] += 1
if prices[i] > prices[j]: # ๊ฐ๊ฒฉ์ด ๋จ์ด์ง ๊ฒฝ์ฐ
break # for๋ฌธ ์ข
๋ฃ
return answer
ํ์ด #2
- ์ฃผ์๊ฐ๊ฒฉ ๊ธธ์ด๋งํผ์ ๋ฆฌ์คํธ ์์ฑ
- ํ์ฌ ์ฃผ์๊ฐ๊ฒฉ์ i๋ฒ์งธ์ ์๋ ๊ฐ์ด๊ณ ๋๋จธ์ง ์ฃผ์๊ฐ๊ฒฉ์ j๋ฒ์งธ์ ์๋ ๊ฐ
- answer ๋ฆฌ์คํธ์ 1์ ๋ํ๊ณ ๊ฐ๊ฒฉ์ด ๋จ์ด์ก๋ค๋ฉด for๋ฌธ์ ์ข
๋ฃ
- ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์๋ค๋ฉด for๋ฌธ์ผ๋ก ๋๋ฉด์ +1 ์ฐ์ฐ์ ์งํ
์ฒ์์๋ ๋ฌธ์ ์ดํด๊ฐ ์๋์๋๋ฐ ๋จ์ํ๊ฒ ์๊ฐํด๋ณด๋ ํ์ฌ ์ธ๋ฑ์ค ๊ฐ๊ณผ ๋๋จธ์ง ์ธ๋ฑ์ค ๊ฐ์ ๋น๊ตํด์ ๊ฐ๊ฒฉ์ด ๋จ์ด์ง๊ธฐ ์ ๊น์ง ์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์๋ค. ์ ํ๋์ ํจ์จ์ฑ์ ๋ชจ๋ ํ ์คํธํ๋ ๋ฌธ์ ๋ผ์ ์ด๋ ต๊ฒ ์๊ฐํ์๋๋ฐ ํ์์๋ ์ฐ์ฐ์ ์ง์ฐ๊ณ ์ฃผ์๊ฐ๊ฒฉ์ด ๋จ์ด์ง๋ ์๊ฐ๊น์ง๋ง ์ฐ์ฐ์ ์งํํ๋ ์์ธ๋ก ์ฝ๊ฒ ํ ์ ์์๋ค.
'์ฝ๋ฉ ๋ฌธ์ ํ์ด ๐ป > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค / ํ์ด์ฌ] Lv.2 ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2024.07.04 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค / ํ์ด์ฌ] Lv.2 ๊ดํธ ํ์ ํ๊ธฐ (0) | 2024.07.01 |
[ํ๋ก๊ทธ๋๋จธ์ค / ํ์ด์ฌ] Lv.1 ๊ฐ์ฅ ๋ง์ด ๋ฐ์ ์ ๋ฌผ (2) | 2024.01.08 |
[ํ๋ก๊ทธ๋๋จธ์ค / ํ์ด์ฌ] Lv.1 [PCCP ๊ธฐ์ถ๋ฌธ์ ] 1๋ฒ / ๋ถ๋ ๊ฐ๊ธฐ (1) | 2024.01.07 |
[ํ๋ก๊ทธ๋๋จธ์ค / ํ์ด์ฌ] Lv.1 ๊ณต์ ์ฐ์ฑ (0) | 2024.01.05 |