체크 박스

시간 제한1초메모리 제한1024 MB

요약
현재 이진 배열과 목표 이진 배열이 주어질 때, 개별 토글, 전체 체크, 전체 해제만 사용해 목표로 바꾸는 최소 조작 횟수를 구한다.
난이도

쉬움10점 중 3점

유형
그리디, 구현
정답자
아직 제출이 없습니다

문제

데이터 테이블은 행과 열로 정보를 구조화해 보여주는 UI 요소이다. 체크 박스 열은 아래 그림과 같이 헤더에 헤더 체크 박스가 있고, 각 데이터 행에 체크 박스가 하나씩 있다. 각 데이터 행의 체크 박스는 체크된 상태 또는 해제된 상태를 가질 수 있다.

체크 박스 열에는 다음 세 가지 조작을 수행할 수 있다.

  • 토글: 임의의 데이터 행을 선택해 체크 박스의 상태를 바꾼다. 즉, 체크된 상태였으면 해제된 상태로, 해제된 상태였으면 체크된 상태로 바꾼다.
  • 전체 체크: 체크 박스가 해제된 상태인 데이터 행이 하나라도 있는 경우, 헤더 체크 박스를 눌러 모든 데이터 행의 체크 박스를 체크된 상태로 만든다.
  • 전체 해제: 모든 데이터 행의 체크 박스가 체크된 상태인 경우, 헤더 체크 박스를 눌러 모든 데이터 행의 체크 박스를 해제된 상태로 만든다.

예를 들어, 첫번째 또는 두번째 그림의 상태에서는 전체 체크 조작으로 세번째 그림의 상태로 만들 수 있고, 세번째 그림의 상태에서는 전체 해제 조작으로 첫번째 그림의 상태로 만들 수 있다.

NN개의 데이터 행으로 이루어진 데이터 테이블에 체크 박스 열이 있고, 각 데이터 행의 현재 체크 박스 상태가 주어진다. 주어진 조작만을 사용하여 현재 체크 박스 열을 목표하는 체크 박스 열과 같게 만들려고 한다. 이때 최소 조작 횟수를 구해보자.

입력

첫째 줄에 데이터 행의 개수 NN이 주어진다. (1≤N≤100 0001 \le N \le 100\ 000)

다음 줄에 NN개의 정수가 공백으로 구분되어 주어진다. ii번째 수는 현재 체크 박스 열의 ii번째 데이터 행의 체크 박스가 체크된 상태인 경우 11, 해제된 상태인 경우 00이다.

다음 줄에 NN개의 정수가 공백으로 구분되어 주어진다. ii번째 수는 목표하는 체크 박스 열의 ii번째 데이터 행의 체크 박스 상태가 체크된 상태인 경우 11, 해제된 상태인 경우 00이다.

출력

현재 체크 박스 열을 목표하는 체크 박스 열로 만들기 위한 최소 조작 횟수를 출력한다.

예제1

  1. 예제 1

    입력
    3
    1 0 0
    0 1 1
    
    예상 출력
    2