728x90

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

 

4597번: 패리티

문제 1의 개수가 홀수개인 비트스트링을 "홀수 패리티"를 가지고 있다고 한다. 또, 짝수개인 경우에는 "짝수 패리티"를 가지고 있다고 한다. 또, 0도 짝수로 간주한다. 따라서, 1이 없는 비트 스트링은 짝수 패리티를 가지고 있다. 마지막 숫자가 지워진 비트 스트링이 주어지고, 이 비트 스트링의 패리티가 주어졌을 때, 마지막 숫자를 올바르게 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 비트 스트링으로 이루어져 있다. 각 비트 스트링은 한 줄로 이

www.acmicpc.net

#include <iostream>
#include <string>
using namespace std;

int main() {
	while (true) {
		string s;
		cin >> s;
		if (s == "#") {
			break;
		}
		int count = 0;
		for (int i = 0; i < s.size() - 1; i++) {
			if (s[i] == '1')
				count++;
		}
		if (s[s.size() - 1] == 'e') {
			if (count % 2 == 0) {
				s[s.size() - 1] = '0';
			}
			else {
				s[s.size() - 1] = '1';
			}
		}
		else {
			if (count % 2 == 0) {
				s[s.size() - 1] = '1';
			}
			else {
				s[s.size() - 1] = '0';
			}
		}
		cout << s << '\n';
	}
	return 0;
}
728x90

'알고리즘 문제' 카테고리의 다른 글

[백준] 4539번 반올림  (0) 2020.03.20
[백준] 1965번 상자넣기  (0) 2020.03.17
[백준] 1309번 동물원  (0) 2020.03.17
[백준] 2225 합분해  (0) 2020.03.16
[백준] 2096번 내려가기  (0) 2020.03.15

+ Recent posts