๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

https://www.acmicpc.net/problem/1931

 

1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ •

(1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

www.acmicpc.net

 

๋ฌธ์ œ์˜ ํ•ต์‹ฌ: ํšŒ์˜๋ฅผ ๋งŽ์ด ์ง„ํ–‰ํ•˜๋ ค๋ฉด ๋ช…์‹œ์  ์กฐ๊ฑด์„ ๋ญ๋กœ ๋‚ด๊ฑธ๊นŒ? 

๋ช…์‹œ์  ์กฐ๊ฑด์ด๋ž€ ๋ˆˆ์— 'ํ™•์—ฐํžˆ' ๋ณด์ด๋Š”, ๋‹จ์ˆœํ•œ ์กฐ๊ฑด์„ ๋งํ•œ๋‹ค.

์ƒ๊ฐ๋ณด๋‹ค ๋ช…์‹œ์  ์กฐ๊ฑด์ด ๋งŽ์ง€ ์•Š๋‹ค.

 

์ฒ˜์Œ์— ์ƒ๊ฐํ–ˆ๋˜ ๋ฐฉ๋ฒ•: Brute Force๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๋ฐฐ์น˜ํ•ด๋ณผ๊นŒ?

-> ๋ฐฐ์น˜ํ•ด๋„ ๊ทธ๊ฒŒ ๋‹ต์œผ๋กœ ๋จ€๊ธฐ๋Š” ๋ฐฉ๋ฒ•์€ ๋”ฐ๋ฅธ ๋ฌธ์ œ๋‹ค.

 

๋ฐฉ๋ฒ•1. ํšŒ์˜์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ๊ฒƒ๋“ค์„ ์šฐ์„ ๋ฐฐ์น˜ํ• ๊นŒ?

-> ์ˆœ์„œ๋ฅผ ์•Œ ์ˆ˜ ์—†๊ธฐ์— ๊ธฐ๊ฐ

๋ฐฉ๋ฒ•2. ํšŒ์˜์‹œ๊ฐ„์ด ๋น ๋ฅธ ๊ฒƒ๋“ค์„ ์ •๋ ฌํ•ด๋ณผ๊นŒ?

-> (1,1000) (2,3) ์ฒ˜๋Ÿผ ํšŒ์˜์‹œ๊ฐ„์€ ๋น ๋ฅธ๋ฐ ๋Šฆ๊ฒŒ ๋๋‚˜๋ฉด ๋ง์งฑ ๋„๋กœ๋ชฉ

๋ฐฉ๋ฒ•3. ํšŒ์˜์‹œ๊ฐ„์ด ๋นจ๋ฆฌ ๋๋‚˜๋Š” ๊ฒƒ๋“ค์„ ์ •๋ ฌํ•ด๋ณผ๊นŒ?

-> (2,3) (1,4) (3,5) (1,6) (2,7) (3,8) ๋Œ€์ถฉ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์จ๋ดค๋‹ค. ์ด๊ฑฐ๋„ค. ํšŒ์˜์‹œ๊ฐ„์ด ๋นจ๋ฆฌ ๋๋‚œ๋‹ค๋Š” ๊ฒƒ์€ ์ƒ๋Œ€์ ์œผ๋กœ ํšŒ์˜์‹œ๊ฐ„์ด ๋นจ๋ฆฌ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ˆ๊นŒ. ๊ทผ๋ฐ ์•„๋‹Œ ๊ฒฝ์šฐ๋ฅผ (1,6)๋ถ€ํ„ฐ ์จ๋ดค๋Š”๋ฐ, ์ด ๊ฒฝ์šฐ๋Š” ์• ์ดˆ์— ๋‹ต์— ๋“ค์–ด๊ฐ€์ง€๋„ ์•Š์•„์„œ ๋ฌด์‹œํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. 

 

 

๋ฐฉ๋ฒ•3๋Œ€๋กœ ํ•˜๊ณ , ์ด์   ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋˜ ๋‹ต๋งŒ pickํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์จ๋ณด์ž.

n = int(input())
time=[]
for _ in range(n):
    time.append(list(map(int,input().split())))
time.sort(key=lambda x: (x[1],x[0]))

ans=end=0

for s,e in time:
    if end <= s:
        ans+=1
        end=e
print(ans)

 

lambda ์ต๋ช…ํ•จ์ˆ˜ ์ง€์นญ, function์ฒ˜๋Ÿผ ์„ ์–ธ ํ›„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ

https://velog.io/@oaoong/Python-lambda-%ED%91%9C%ED%98%84%EC%8B%9D

 

[Python] lambda ํ‘œํ˜„์‹

๋žŒ๋‹ค(lambda) 1. ์˜๋ฏธ > ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ์ง€์นญํ•˜๋Š” ์šฉ์–ด ์ฆ‰, ๊ธฐ์กด์˜ ํ•จ์ˆ˜(๋ช… ๋“ฑ)์„ ์„ ์–ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋˜ ๋ฐฉ์‹๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋ฐ”๋กœ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜. ๊ทธ๋ž˜์„œ ํ˜ธ์ถœํ•˜๋ฉด, ๊ทธ๋Œ€๋กœ ํ˜ธ์ถœํ•˜๋ฉด ํ•จ์ˆ˜ ๊ฐ์ฒด๊ฐ€

velog.io

 

๋ฐ˜์‘ํ˜•