๐Ÿ‘ฉโ€๐ŸŽ“๊ณต๋ถ€ - 2024.01.29 ์˜ค๋Š˜์˜ ์ฝ”๋”ฉ๊ณต๋ถ€

์œ ๋ น๊ฐœยท2024๋…„ 1์›” 29์ผ
0

PS-์•Œ๊ณ ๋ฆฌ์ฆ˜2

๋ชฉ๋ก ๋ณด๊ธฐ
21/34
post-thumbnail

11053๋ฒˆ - ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด (LIS)

๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ํƒ์ƒ‰ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
์ด ๋ฌธ์ œ๋Š” ์ด๋ถ„ ํƒ์ƒ‰๊ณผ DP ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€์ดํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์ €๋Š” DP ์—ฐ์Šต์ค‘์ด๋ฏ€๋กœ DP๋กœ ํ’€๊ฒ ์Šต๋‹ˆ๋‹ค.


์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„์„

DP๋กœ ํ’€์ดํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ์ƒ๊ธด ๋ฆฌ์ŠคํŠธ์™€ DP๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด

์ด๋Ÿฌํ•œ ์”ฉ์œผ๋กœ ํ˜„์žฌ ์กฐ์‚ฌ๊ฐ’ ์ด์ „ ๊ฐ’๋“ค ์ค‘์—์„œ ์ž‘์€ ๊ฐ’๋“ค์ด ์กด์žฌํ•œ๋‹ค๋ฉด ํ•ด๋‹น ์ž‘์€ ๊ฐ’๋“ค์˜ DP๊ฐ’๋“ค ์ค‘์—์„œ ์ œ์ผ ํฐ DP + 1์„ ํ˜„์žฌ ์กฐ์‚ฌ๊ฐ’ DP์— ๋„ฃ์–ด์ฃผ๋Š” ์”ฉ์œผ๋กœ ์ฝ”๋”ฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ฝ”๋”ฉ

N = int(input())
lst = list(map(int,input().split()))
dp = [1]*len(lst)

๋จผ์ € ์ˆ˜์—ด์˜ ์ตœ์†Œ ๊ธธ์ด๋Š” 1์ด๋ฏ€๋กœ 1์„ len(lst)๋งŒํผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

for i in range(len(lst)):
    maximum = 0
    for j in range(i):

ํ˜„์žฌ ์กฐ์‚ฌ๊ฐ’์€ lst[i], ์ด์ „ ๊ฐ’๋“ค ์กฐ์‚ฌ๋Š” lst[j]๋กœ ๋งก๊ฒ ์Šต๋‹ˆ๋‹ค.

        if lst[j] < lst[i]:
            if maximum < dp[j]:
                maximum = dp[j]
            dp[i] = maximum + 1      

๋งŒ์•ฝ ํ˜„์žฌ ์กฐ์‚ฌ๊ฐ’๋ณด๋‹ค ์ด์ „ ์กฐ์‚ฌ๊ฐ’์ด ๋” ์ž‘๋‹ค๋ฉด, ์ด์ „ ์กฐ์‚ฌ๊ฐ’๋“ค ์ค‘ ์ œ์ผ ํฐ DP๋ฅผ maximum์— ๋„ฃ์–ด์ฃผ๊ณ  maximum + 1์„ ํ˜„์žฌ ์กฐ์‚ฌ๊ฐ’์˜ DP์— ๊ธฐ๋กํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

print(max(dp))

๊ทธ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


11722๋ฒˆ - ๊ฐ€์žฅ ๊ธด ๊ฐ์†Œํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด

์›๋ฆฌ๋งŒ ์•Œ๋ฉด ๊ฑฐ์˜ ๋ณด๋„ˆ์Šค ๋ฌธ์ œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ˜„์žฌ ์กฐ์‚ฌ ๊ฐ’ ์ด์ „ ๊ฐ’๋“ค ์ค‘์—์„œ ํฐ ๊ฒŒ ์กด์žฌํ•œ๋‹ค๋ฉด ์ด์ „ ๊ฐ’๋“ค max(DP) + 1์„ ํ˜„์žฌ ์กฐ์‚ฌ๊ฐ’ DP์— ๋Œ€์ž…์‹œ์ผœ์ฃผ๋ฉด ๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

N = int(input())
lst = list(map(int,input().split()))
dp = [1]*len(lst)

for i in range(len(lst)):
    maximum = 0
    for j in range(i):
        if lst[i] < lst[j]:
            if maximum < dp[j]:
                maximum = dp[j]
            dp[i] = maximum + 1

print(max(dp)) 


์˜ค๋‹ต ํ’€์ด์ค‘

15686๋ฒˆ - ์น˜ํ‚จ ๋ฐฐ๋‹ฌ

๊ฑฐ์˜ ๋‹ค ํ‘ผ๊ฑฐ ๊ฐ™์€๋ฐ ์•ˆํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
์ง€๋‚œ๋ฒˆ ํ’€์ด ํ›„ ์งˆ๋ฌธ์„ ์˜ฌ๋ ค๋ดค๋Š”๋ฐ


๋ผ๊ณ  ์นœ์ ˆํžˆ ๋‹ต๋ณ€ํ•ด์ฃผ์…”์„œ ์ € ๋ฌธ์ œ๋ฅผ ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค.

? ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹
์ด๊ฒŒ ์–ด๋–ค ๋ง์”€ํ•˜์‹œ๋Š”์ง€๋Š” ๊ฐ์ด ์žกํžˆ๋Š”๋ฐ (์กฐํ•ฉ ์ฝ”๋“œ ์ž‘์„ฑํ•  ๋•Œ visited๋ฅผ ์“ฐ์ง€ ๋ง๊ณ  count ๋ณ€์ˆ˜ ์ฆ๊ฐ€ ํ˜•์‹์œผ๋กœ ์žฌ๊ท€๋ฅผ ๋Œ๋ ค์„œ ๋ฐฑํŠธ๋ž˜ํ‚น ๋ถ€๋ถ„ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์ค„์—ฌ๋ผ? ์ด๋Ÿฐ ๋Š๋‚Œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค)

์ •๋ง ํ•œ 5์‹œ๊ฐ„๋™์•ˆ ๊ณ ๋ฏผํ•ด๋„ ๊ฒฐ๊ตญ ๋ชปํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฌธ์ œ ์ข€ ๋” ์‚ดํŽด๋ณด๋‹ค๊ฐ€ ํ’€์–ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

profile
ํ•œ๋ฆผ๋Œ€ํ•™๊ต ์ •๋ณด๊ณผํ•™๋Œ€ 2ํ•™๋…„ ์žฌํ•™์ค‘ / ์œก๊ตฐ ์ •๋ณด๋ณดํ˜ธ๋ณ‘ 22-2๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€