백준 1439

HR·2022년 4월 22일
0

알고리즘 문제풀이

목록 보기
19/50

백준 1439 : 뒤집기

  1. 숫자가 바뀌는 지점에 주목!
  2. 바뀌는 지점을 2로 나눠주면 정답
  3. 나눠 떨어지지 않으면 그냥 2번 결과에 1 더해주면 됨

정답 코드

#include <iostream>

using namespace std;

string s;
int cnt;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	cin>>s;
	for(int i=1; i<s.size(); i++) {
		if(s[i-1] != s[i]) {
			cnt++;
		}
	}
	
	if(cnt & 1) { //홀수인 경우 (비트 연산자 활용)
		cnt/=2; 
		cnt++;
	}
	else {
		cnt/=2;
	}
	
	cout<<cnt<<'\n';
		
	return 0;
}

0개의 댓글