๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/14467
ํ๊ธฐ ์ ์ ์์ด๋์ด
์์ ์์น๋ 0, 1 ๋ ๊ฐ๋ฟ์ด๋ผ์.. ์ ๋ฒํธ๋งํผ ๋ฐฐ์ด ์์ฑํ ํ ์ ๋ฒํธ์ ๋ง๋ ์ธ๋ฑ์ค์ 0 , 1 ๋ฐ๋๋ ๊ฑฐ ์ฒดํฌํด๋ณด๊ธฐ. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ๋ณด๋๊น ์๋ค ์ค์ ์ ์ผ ์ ๊ฒ ๊ฑด๋ ํ์ ๊ตฌํ๋ ๊ฒ๋ ์๋๊ณ , ๊ทธ๋ฅ ์ ๊ฑด๋ ํ์ ๋ค ํฉ์ณ์ ๊ตฌํ๋ ๊ฑฐ๋ผ์ ๋ณ๋ก ์ด๋ ต์ง ์๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค..
๊ณผ์
์ฒ์์ 2์ฐจ์ ๋ฐฐ์ด์ ์์ฑํ ๊น ํ๋๋ฐ ๊ตฌํ์ด ์ฐ์ผ๋ก ๊ฐ๋ ๊ฒ ๊ฐ์๋ค. ๊ทธ๋์ ๊ทธ๋ฅ ๋ฐฐ์ด ํ๋ ์์ฑํ์
๋ฐฐ์ด ํฌ๊ธฐ๋ ์ ๋ฒํธ๊ฐ 1๋ถํฐ 10๊น์ง ์๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ๋ฅผ 11๋ก ์ ํ๋ค.
์์น๋ฅผ ์์ง ๋ชจ๋ฅด๋ ์ํ์์ ์ฒดํฌํ๋ ค๋ฉด -1๋ก ์ด๊ธฐํํ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ์๋ค. ๊ทผ๋ฐ ์ผ์ผ์ด ๋ค ์ด๋ป๊ฒ -1๋ก ์ฑ์ฐ์ง ํ๋ค๊ฐ Arrays.fill์ด๋ผ๋ ๋ฉ์๋์ ๋ํด ์๊ฒ ๋์๋ค.
์จ๋ ์ด์ for๋ฌธ ๋๋ฆฌ๋ฉด์ ๊ฐ ์ ๋ ฅ๋ฐ์ ๋๋ง๋ค ์ ๋ฒํธ๊ฐ ๋ญ์ง ๋ณด๊ณ ๋ด๊ฐ ๋ง๋ ๋ฐฐ์ด ์ค ์ ๋ฒํธ์ ํด๋นํ๋ ์ธ๋ฑ์ค์ ์์น๋ฅผ ์ ์ฅํด ์คฌ๋ค. ์์น๋ 0 or 1์ด๋๊น.. ๊ทธ๋ฆฌ๊ณ ๋ค์์ ๋ ๊ฐ์ ์ ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ์์ ๋ ์ ์ฅํด ๋ ์์น๋ ๋ค๋ฅด๋ฉด ๊ทธ๋ ์๋ก ์ ๋ ฅ๋ฐ์ ์์ ์์น๋ก ๋ฐ๊ฟ์ฃผ๋ฉด์ ์๊ฐ ๊ฑด๋ ํ์๋ฅผ ๋ด๋ ๋ณ์์ธ answer์ 1์ฉ ์ฆ๊ฐ์์ผฐ๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ ์๋ค์ด ์ผ๋ง๋ ๊ฑด๋๋์ง ์ ์๊ฐ ์๋ค.
์๊ฐ ๋ณต์ก๋
3ํ๋ ๋ ์๊ณ ๋ฆฌ์ฆ ์๊ฐ์ ๋ฐฐ์ด ๊ฒ ๊ฐ๊ธด ํ๋ฐ.. ์ผ๋จ ์ธํฐ๋ท ๋ค์ ๋ค์ ๊ฑฐ๋ฆฌ๋๊น ์ฝ๊ฐ ๊ธฐ์ต๋๋ ๊ฒ ๊ฐ๊ธฐ๋..
์ผ๋จ for๋ฌธ ํ๋ฒ ๋๋ ธ์ผ๋๊น O(n)์ด ์๋๊ฐ ์ถ๋ค ใ ใ !
import java.util.*;
public class 14467 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int answer = 0;
int[] arr = new int[11];
Arrays.fill(arr, -1);
for (int i = 0; i < n; i++) {
int num = sc.nextInt();
int loc = sc.nextInt();
if (arr[num] == -1) {
arr[num] = loc;
}
else if (arr[num] != loc) {
arr[num] = loc;
answer++;
}
}
System.out.println(answer);
}
}