๐Ÿงฉ Algorithm/SWEA

[SWEA] 6485. ์‚ผ์„ฑ์‹œ์˜ ๋ฒ„์Šค ๋…ธ์„  (Python/D3)

devCloud 2024. 11. 13. 21:16
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com


ํ’€์ด ๋ฐฉ๋ฒ•

  • ๋ฒ„์Šค ์ •๋ฅ˜์žฅ ๋ฐฐ์—ด ์ดˆ๊ธฐํ™”
    • bus ๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ๊ฐ ์ •๋ฅ˜์žฅ์˜ ๋ฒ„์Šค ๋…ธ์„  ์ˆ˜๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.
    • ์ •๋ฅ˜์žฅ์˜ ๋ฒˆํ˜ธ๋Š” ๋ฌธ์ œ์—์„œ ์ตœ๋Œ€ 5,000๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ 5,000์œผ๋กœ ์ง€์ •ํ•œ๋‹ค.
  • ๋…ธ์„  ์ •๋ณด ์ž…๋ ฅ ๋ฐ ์ •๋ฅ˜์žฅ ๋ˆ„์ 
    • ๊ฐ ๋ฒ„์Šค ๋…ธ์„ ์˜ ์‹œ์ž‘ ์ •๋ฅ˜์žฅ A์™€ ๋ ์ •๋ฅ˜์žฅ B๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ํ•ด๋‹น ๋ฒ”์œ„ ๋‚ด ๋ชจ๋“  ์ •๋ฅ˜์žฅ์˜ ๊ฐ’์„ 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ, ๊ฐ ์ •๋ฅ˜์žฅ์ด ํฌํ•จ๋œ ๋ฒ„์Šค ๋…ธ์„ ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ˆ„์ ํ•œ๋‹ค.
  • ํŠน์ • ์ •๋ฅ˜์žฅ ๊ฐœ์ˆ˜ ๊ณ„์‚ฐ
    • ์ดํ›„์— ํŠน์ • ์ •๋ฅ˜์žฅ์— ๋Œ€ํ•ด ์ง€๋‚˜๊ฐ€๋Š” ๋ฒ„์Šค์˜ ์ˆ˜๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด P๊ฐœ์˜ ์ •๋ฅ˜์žฅ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , bus ๋ฐฐ์—ด์—์„œ ํ•ด๋‹น ์ธ๋ฑ์Šค ๊ฐ’์„ result ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
  • ๊ฒฐ๊ณผ ์ถœ๋ ฅ
    • ์ตœ์ข…์ ์œผ๋กœ result ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ๋œ ๊ฐ’์„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•œ๋‹ค.

Solution

T = int(input())  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜
for test_case in range(1, T + 1):
    N = int(input())
    bus = [0]*5000  # ๋ฏธ๋ฆฌ ๋ฒ„์Šค ์ •๋ฅ˜์žฅ ๊ฐœ์ˆ˜ ๋งŒ๋“ค๊ธฐ
    
    for _ in range(N):
        A, B = map(int, input().split())
        for j in range(A - 1, B):  # A ๋ถ€ํ„ฐ B ๊นŒ์ง€์˜ ๋ฒ”์œ„์— ํ•ด๋‹นํ•˜๋Š” ์ธ๋ฑ์Šค ๊ฐ’ ๋ˆ„์ 
            bus[j] += 1
            
    P = int(input())
    result = []
   
    for _ in range(P):
        stop = int(input())
        result.append(bus[stop - 1])  # ์ž…๋ ฅ๋ฐ›์€ ์ •๋ฅ˜์žฅ์— ํ•ด๋‹นํ•˜๋Š” ์ธ๋ฑ์Šค๋งŒ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ
    print(f"#{test_case}", *result)

 

๐Ÿ“Œ ์ฃผ์˜

์ด ํ’€์ด๋Š” ์ž‘์€ ์ž…๋ ฅ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ, ๋ฒ”์œ„๊ฐ€ ๋„“์€ A์™€ B ๊ฐ’์ด ๋ฐ˜๋ณต๋˜๋ฉด ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.


 

728x90