메이쁘

(JAVA) 백준 1439번 : 뒤집기 본문

Algorithm/Baekjoon

(JAVA) 백준 1439번 : 뒤집기

메이쁘 2020. 5. 22. 01:07

 

 

https://www.acmicpc.net/problem/1439

 

1439번: 뒤집기

다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모

www.acmicpc.net

 

 

 

쉬운 문제.

 

 

 

핵심

 

  1.  연속된 같은 숫자들이 있으면 하나로 생각

  

  2.  0 과 1 중 연속된 같은 숫자들의 종류 개수가 작은 것이 정답

 

 

ex)

0011100 일 때,

 

            00 / 111 / 00

-> 종류   0 /   1  /  0

 

-> 개수 : 0 - 2개, 1 - 1개 이므로 1번만 뒤집으면 모든 숫자를 같게 할 수 있음.

 

*** 참고로, 종류 개수 셀 때 맨 마지막 문자까지 세야 하므로 for문 종료 후 맨 마지막 문자를 보고 알맞게 count 해준다.

 

 

 

매커니즘


1)  첫 input(입력) 받을 때 for문 실행

 

2)  문자 하나씩 index 순회하며 진행. 이 때, 첫 번째 문자를 별도의 변수에 저장하고 두 번째부터 순회한다.

*** 무조건 1개 이상의 문자가 입력으로 들어오기 때문

 

3)  2)번 진행 시

      - 현재 index의 문자가 이전 문자와 다르면 -> 이전 문자 count, 현재 진행 문자를 별도의 변수에 저장

      - 현재 index의 문자가 이전 문자와 같으면 -> 다음 문자 탐색

 

 

 

 

 

감사합니다.

 

 

소스코드


 

Comments