문제
지훈이는 정원 일부에 울타리를 치기로 했다. 하지만 지훈이는 울타리를 치는 도중 주의가 산만해져서 계획보다 훨씬 이상한 모양으로 울타리를 만들고 말았다!
구체적으로, 지훈이는 지점에서 시작하여 번 이동한다. 각 이동은 북쪽, 남쪽, 동쪽, 서쪽 중 한 방향으로 한 칸만큼 이동하는 것이다. 지훈이는 이동할 때마다 이동한 경로를 따라 단위 길이의 울타리를 설치한다. 예를 들어, 첫 번째 이동이 북쪽이라면 에서 을 잇는 울타리 세그먼트가 추가된다. 지훈이는 같은 지점을 여러 번 방문할 수 있으며, 이미 설치한 울타리 세그먼트를 다시 지나며 중복해서 설치할 수도 있다. 울타리는 지훈이가 이동하는 경로에 따라 자기 자신과 교차할 수도 있다.
울타리 설치를 마친 지훈이는 당황스러운 결과를 마주했다. 울타리가 정원의 일부 구역을 다른 구역과 격리시켜서, 울타리를 넘지 않고서는 한 영역에서 다른 영역으로 걸어갈 수 없는 경우가 생겼기 때문이다. 지훈이는 이 문제를 해결하기 위해 울타리에 문을 설치하려고 한다. 문은 이미 설치된 임의의 단위 길이 울타리 세그먼트에 설치할 수 있으며, 설치된 문을 통해 해당 세그먼트의 양옆을 자유롭게 오갈 수 있다.
정원의 모든 영역이 서로 연결되어 모든 곳을 자유롭게 이동할 수 있도록 하기 위해 설치해야 하는 문의 최소 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 이동 횟수 이 주어진다. ()
둘째 줄에 지훈이의 이동 경로를 설명하는 길이 의 문자열이 주어진다. 각 문자는 N (북), E (동), S (남), W (서) 중 하나이다.
출력
정원의 모든 영역이 다시 연결되도록 하기 위해 설치해야 하는 문의 최소 개수를 정수로 출력한다. 만약 처음부터 모든 영역이 연결되어 있다면 을 출력한다.
예제 입력 1
14
NNNESWWWSSEEEE
예제 출력 1
2
코드를 제출하려면 로그인이 필요합니다.
로그인