ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90

๐Ÿšฉ ๊ทธ๋ฆฌ๋””

 

thinking

[SWEA] 5202-ํ™”๋ฌผ๋„ํฌ ๋ž‘ ๋˜‘๊ฐ™์€ ๋ฌธ์ œ์—ฌ์„œ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค.

์‹œ์ž‘-๋ ์‹œ๊ฐ„์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ›์€ ๋‹ค์Œ, ๋๋‚˜๋Š” ์‹œ๊ฐ„ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

์ „ํšŒ์ฐจ์˜ ๋ ์‹œ๊ฐ„๋ณด๋‹ค ๋‹ค์ŒํšŒ์ฐจ ์‹œ์ž‘ ์‹œ๊ฐ„์ด ๊ฐ™๊ฑฐ๋‚˜ ํฌ๋ฉด ์นด์šดํŒ…์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์‹œ๊ฐ„ ๋•Œ๋ฌธ์— pop(0) ์„ ์•ˆํ•˜๊ณ  pop() ์„ ํ•˜๊ณ  ์‹ถ์–ด์„œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ๋‹ค.

 

๊ธฐ์–ตํ•  ๊ฒƒ

โญ input() ์€ ๋งค์šฐ ๋А๋ฆฌ๋‹ค. ์ž…๋ ฅ์ด 10๋งŒ์ค„ ์ด์ƒ ๋˜๋ฉด stdin.readline์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์œ„: stdin.readline ์‚ฌ์šฉ  /   ์•„๋ž˜: input() ์‚ฌ์šฉ

โญํŒŒ์ด์ฌ ๋žŒ๋‹ค ์ •๋ ฌํ•˜๋Š” ๋ฒ•

# sorted(a, key=lambda x: (-x[1], -x[0])) ์ •๋ ฌ๊ฒฐ๊ณผ

[[12, 14], [2, 13], [8, 12], [8, 11], [6, 10], [5, 9], [3, 8], [5, 7], [0, 6], [3, 5], [1, 4]]

 

 

์ฝ”๋“œ

import sys

N = int(sys.stdin.readline())  # ํšŒ์˜์˜ ์ˆ˜
a = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
a = sorted(a, key=lambda x: (-x[1], -x[0]))

cnt = 1
f1, f2 = a.pop()  # ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฒดํฌ
while a:
    n1, n2 = a.pop()
    if n1 >= f2:  # ๋‹ค์Œ ์‹œ์ž‘์ด ์ „ํšŒ์ฐจ ๋๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ๊ฐฑ์‹ 
        f1, f2 = n1, n2
        cnt += 1

print(cnt)

 

 

ํ•œ์ค„ํ‰

stdin.readline ์ด๊ฑฐ ๋งจ๋‚  ๊นŒ๋จน๋Š”๋‹ค ์ œ๋ฐœ ๊ธฐ์–ตํ•˜์ž

๋Œ“๊ธ€