programmers.co.kr/learn/courses/30/lessons/68646
์ฒ์์๋ ์ด๊ฑธ ์ด์ฉ๋ผ๋๊ฑฐ์ผ.. ์ถ์๋ค๐
๊ทธ๋์ ์ผ๋จ ํ๋ฒ ๊ฒ์ํด์ ์ ๊ทผ๋ฒ์ ์์๋ธ ํ ๊ณ์ฐํด๋ดค๋ค...!!!
์ ๊ทผ๋ฒ์ ์ง๊ธ ์ซ์๋ฅผ ๊ธฐ์ค์ผ๋ก, ์ผ์ชฝ/์ค๋ฅธ์ชฝ์์ ์ต์๊ฐ์ ํ์ธํ์ฌ ๋น๊ตํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ ์ถ๋ ฅ์์ 2๋ฅผ ๋ณด๋ฉด ํ์ฒ๋ผ ์ ๋ฆฌ ํ ์ ์๋ค!
์ผ์ชฝ, ์ค๋ฅธ์ชฝ์ ์ต์๊ฐ์ ์ ์ฅํ small_nums ๋ผ๋ ๋ฐฐ์ด์ ์์ฑํ ๋ค์ for๋ฌธ์ ๋๋ฉด์ ํ๋์ฉ ๋ฃ์ด์ค ๊ฒ์ด๋ค.
58๊ณผ -68์ ์๋ก ๋ค์ด ์ค๋ช ํ๋ฉด...
58์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ(-16, 27, 65, -2) ์์ ์ต์๊ฐ์ -16์ด๊ณ ,
์ค๋ฅธ์ชฝ(-92, -71, -68, -61, -33)์์ ์ต์๊ฐ์ -92์ด๋ค!
-68์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ(-16, 27, 65, -2, 58, -92, -71) ์์ ์ต์๊ฐ์ -92์ด๊ณ ,
์ค๋ฅธ์ชฝ (-61, -33) ์ ๋ ๋ค -68๋ณด๋ค ํฌ๋ฏ๋ก, ์ต์๊ฐ์ -68๋ก ๋ณ๊ฒฝํ ํ ์ ์ฅํ๋ค!
๐โ๏ธ ์์ฑํ ์ฝ๋
๋๋ณด๊ธฐ
def solution(a):
answer = 0
small_nums= [[0, 0] for _ in range(len(a))]
INF = int(10e9)
left = INF
right = INF
#์ผ์ชฝ ํ์ธ
for i in range(len(a)):
if left > a[i]:
left = a[i]
small_nums[i][0] = left
#์ค๋ฅธ์ชฝ ํ์ธ
for i in range(len(a)-1, -1, -1): #๋งจ ์ค๋ฅธ์ชฝ์์๋ถํฐ <- ์ด์ชฝ ๋ฐฉํฅ์ผ๋ก ์์ผ ํ๋ฏ๋ก
if right > a[i]:
right = a[i]
small_nums[i][1] = right
for i in range(len(a)):
if a[i] <= small_nums[i][0] or a[i] <= small_nums[i][1]:
answer += 1
print(small_nums)
return answer
'๐๊ณต๋ถ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv.3] ๊ธฐ์ง๊ตญ ์ค์น (0) | 2021.04.28 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv.3] ์ซ์ ๊ฒ์ (0) | 2021.04.27 |
[๋ฐฑ์ค] 14889๋ฒ ์คํํธ์ ๋งํฌ (0) | 2021.01.07 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ์ผ๊ฐ ๋ฌํฝ์ด (0) | 2021.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ๊ตฌ๋ช ๋ณดํธ (0) | 2020.12.26 |
๋๊ธ