Algorithm/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€(BOJ) / Python] 1946๋ฒˆ: ์‹ ์ž… ์‚ฌ์›

meeeeejin 2021. 3. 9. 22:18

๋ฌธ์ œ ๋งํฌ: www.acmicpc.net/problem/1946

 

1946๋ฒˆ: ์‹ ์ž… ์‚ฌ์›

์ฒซ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 ≤ T ≤ 20)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์— ์ง€์›์ž์˜ ์ˆซ์ž N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ์ง€์›์ž์˜ ์„œ๋ฅ˜์‹ฌ์‚ฌ ์„ฑ

www.acmicpc.net

 

๋ฌธ์ œ ์„ค๋ช…

๋ฉด์ ‘์ž๋“ค์„ ์„œ๋ฅ˜ ์ ์ˆ˜๊ฐ€ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•œ ๋’ค, ๋ฉด์ ‘ ์ ์ˆ˜์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. 

์„œ๋ฅ˜ ์ ์ˆ˜๊ฐ€ 1๋“ฑ์ธ ์‚ฌ๋žŒ์€ ๋ฌด์กฐ๊ฑด ๋ฝ‘ํžˆ๊ณ , 2๋“ฑ์ธ ์‚ฌ๋žŒ์€ 1๋“ฑ๋ณด๋‹ค ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋†’์œผ๋ฉด ๋ฝ‘ํž™๋‹ˆ๋‹ค. 

3๋“ฑ์€ 1, 2๋“ฑ๋ณด๋‹ค ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋†’์ด๋ฉด ๋ฝ‘ํžˆ๊ณ  ๋‚˜๋จธ์ง€ ์‚ฌ๋žŒ๋“ค๋„ ๋น„์Šทํ•˜๊ฒŒ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. 

 

๋”ฐ๋ผ์„œ ์„œ๋ฅ˜ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ๋ฉด์ ‘์ž๋ฅผ ์ •๋ ฌํ•˜๊ณ , ๊ฐ ๋ฉด์ ‘์ž๋“ค์˜ ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋ฉด์ ‘ ์ปคํŠธ๋ผ์ธ๋ณด๋‹ค ๋” ๋†’์€๊ฐ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๋ฉด์ ‘ ์ปคํŠธ๋ผ์ธ์€ ์„œ๋ฅ˜ 1๋“ฑ์˜ ๋ฉด์ ‘ ๋“ฑ์ˆ˜์ž…๋‹ˆ๋‹ค. 

๋” ๋†’๋‹ค๋ฉด ํ•ฉ๊ฒฉ์ž์— ์ถ”๊ฐ€ํ•˜๊ณ , ๋ฉด์ ‘ ์ปคํŠธ๋ผ์ธ์„ ๋‹ค์‹œ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. 

๋งŒ์•ฝ ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋” ๋‚ฎ๋‹ค๋ฉด ์„œ๋ฅ˜์™€ ๋ฉด์ ‘ ๋ชจ๋‘ ๋‚ฎ์€ ๊ฒƒ์ด ๋˜๋ฏ€๋กœ ๋ถˆํ•ฉ๊ฒฉ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. 

 

์ฒ˜์Œ์— input()์„ ์‚ฌ์šฉํ–ˆ๋‹ค๊ฐ€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋–ด์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ sys.stdin.readline()์„ ์ด์šฉํ•ด ๋ณด์„ธ์š”. 

 

 

 

์†Œ์Šค์ฝ”๋“œ

import sys
T = int(input())

while T != 0:
    n = int(input())
    answer = 1      # ์„œ๋ฅ˜ 1๋“ฑ ํฌํ•จ
    score = list()  # ์ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฆฌ์ŠคํŠธ
    for i in range(n):
        score.append(list(map(int,sys.stdin.readline().split())))

    score.sort()    # ์„œ๋ฅ˜ ์ˆœ์œ„๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
    interview = score[0][1]  # ์„œ๋ฅ˜ 1๋“ฑ์˜ ๋ฉด์ ‘ ์ˆœ์œ„(๋ฉด์ ‘ ์ปคํŠธ๋ผ์ธ)
    for i in range(1, n):
        if score[i][1] < interview: # ์ด์ „ ์‚ฌ๋žŒ๋“ค ๋ณด๋‹ค ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋†’์„ ๊ฒฝ์šฐ
            answer += 1
            interview = score[i][1]

    print(answer)
    T -= 1
print(answer)

 

728x90