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

Algorithm/BOJ

[BOJ] ์†Œ๊ฐ€ ๊ธธ์„ ๊ฑด๋„ˆ๊ฐ„ ์ด์œ 1 (#14467)

 

 

๋ฌธ์ œ 

 

๋‹ญ์ด ๊ธธ์„ ๊ฑด๋„ˆ๊ฐ„ ์ด์œ ๋Š” ๊ณผํ•™์ ์œผ๋กœ ๊นŠ๊ฒŒ ์—ฐ๊ตฌ๊ฐ€ ๋˜์–ด ์žˆ์ง€๋งŒ, ์˜์™ธ๋กœ ์†Œ๊ฐ€ ๊ธธ์„ ๊ฑด๋„ˆ๊ฐ„ ์ด์œ ๋Š” ๊ฑฐ์˜ ์—ฐ๊ตฌ๋œ ์ ์ด ์—†๋‹ค. ์ด ์ฃผ์ œ์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋˜ ๋†๋ถ€ ์กด์€ ํ•œ ๋Œ€ํ•™์œผ๋กœ๋ถ€ํ„ฐ ์†Œ๊ฐ€ ๊ธธ์„ ๊ฑด๋„ˆ๋Š” ์ด์œ ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ ์ œ์˜๋ฅผ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค.

์กด์ด ํ•  ์ผ์€ ์†Œ๊ฐ€ ๊ธธ์„ ๊ฑด๋„ˆ๋Š” ๊ฒƒ์„ ๊ด€์ฐฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์กด์€ ์†Œ์˜ ์œ„์น˜๋ฅผ N๋ฒˆ ๊ด€์ฐฐํ•˜๋Š”๋ฐ, ๊ฐ ๊ด€์ฐฐ์€ ์†Œ์˜ ๋ฒˆํ˜ธ์™€ ์†Œ์˜ ์œ„์น˜ ํ•˜๋‚˜์”ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์กด์€ ์†Œ๋ฅผ 10๋งˆ๋ฆฌ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์†Œ์˜ ๋ฒˆํ˜ธ๋Š” 1 ์ด์ƒ 10 ์ดํ•˜์˜ ์ •์ˆ˜๊ณ , ์†Œ์˜ ์œ„์น˜๋Š” ๊ธธ์˜ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ์„ ์˜๋ฏธํ•˜๋Š” 0๊ณผ 1 ์ค‘ ํ•˜๋‚˜๋‹ค.

์ด ๊ด€์ฐฐ ๊ธฐ๋ก์„ ๊ฐ€์ง€๊ณ  ์†Œ๊ฐ€ ์ตœ์†Œ ๋ช‡ ๋ฒˆ ๊ธธ์„ ๊ฑด๋„œ๋Š”์ง€ ์•Œ์•„๋ณด์ž. ์ฆ‰ ๊ฐ™์€ ๋ฒˆํ˜ธ์˜ ์†Œ๊ฐ€ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ ๊ฒƒ์ด ๋ช‡ ๋ฒˆ์ธ์ง€ ์„ธ๋ฉด ๋œ๋‹ค.

 

์ž…๋ ฅ 

 

์ฒซ ์ค„์— ๊ด€์ฐฐ ํšŸ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100 ์ดํ•˜์˜ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋‹ค์Œ N์ค„์—๋Š” ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๊ด€์ฐฐ ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ด€์ฐฐ ๊ฒฐ๊ณผ๋Š” ์†Œ์˜ ๋ฒˆํ˜ธ์™€ ์œ„์น˜(0 ๋˜๋Š” 1)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

 

์ถœ๋ ฅ 

 

์ฒซ ์ค„์— ์†Œ๊ฐ€ ๊ธธ์„ ๊ฑด๋„ˆ๊ฐ„ ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ•ด์„ค ์ฝ”๋“œ 

 

n = int(input())
cow = [-1] * 11
cnt = 0

for _ in range(n):
    target_cow, position = map(int, input().split(' '))

    if cow[target_cow] == -1:
        cow[target_cow] = position
    else:
        if cow[target_cow] != position:
            cnt += 1
            cow[target_cow] = position

print(cnt)
๋ถ„์„ > ์ฒ˜์Œ ๊ด€์ฐฐ๋œ ์†Œ์˜ ์œ„์น˜๋ฅผ position์— ์ €์žฅ์‹œํ‚จ ํ›„, ๋‹ค๋ฅธ ๊ด€์ฐฐ ์‹œ๊ธฐ์—์„œ ๊ฐ™์€ ์†Œ์˜ ๋‹ค๋ฅธ ์œ„์น˜๋ฅผ ๊ด€์ฐฐํ–ˆ์„ ๊ฒฝ์šฐ ์ด๋ฏธ ์ €์žฅ๋œ position์˜ ์œ„์น˜์™€ ํ˜„์žฌ position์˜ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅผ ๊ฒƒ์ด๋ฏ€๋กœ ๊ทธ๋•Œ count ๋ฅผ 1 ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ํ•ด๋‹น ์†Œ์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ๋‹ค. ์ด๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด, count๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.