문제 : boj14467
결국 1~10에 해당하는 값을 저장해둘 수 있는 자료구조만 있으면 된다. 내경우엔 11개(인덱스 0번은 안씀) 짜리 배열로 처리했고, 문제에서 절대 등장할 수 없는 값으로 초기값을 설정한다(내 경우엔 -1).
이후 N개의 입력을 받으면서 입력받은게 'A B'라고 한다면, A는 1~10에 해당한다. A의 값이 초기값이라면 그냥 B를 배열에 넣고, 그렇지 않을 경우 이전과 비교해서 위치가 변경되었다면 cnt를 1 증가하고 값을 넣는다. 이걸 N번에 걸쳐 진행하면 되고, 최종적으로 cnt가 답이 된다.
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[11];
Arrays.fill(arr, -1);
int answer = 0;
while (n-->0) {
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
if (arr[a] != -1 && arr[a] != b) answer++;
arr[a] = b;
}
System.out.println(answer);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
백준 2239 자바 - 스도쿠 (BOJ 2239 JAVA) (0) | 2022.01.26 |
---|---|
백준 2580 자바 - 스도쿠 (BOJ 2580 JAVA) (0) | 2022.01.26 |
백준 20040 자바 - 사이클 게임 (BOJ 20040 JAVA) (0) | 2022.01.24 |
백준 1806 자바 - 부분합 (BOJ 1806 JAVA) (0) | 2022.01.23 |
백준 1450 자바 - 냅색문제 (BOJ 1450 JAVA) (2) | 2022.01.22 |
댓글