※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25870번 문제인 Parity of Strings이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25870
각 문자의 개수를 셀 배열 cnt를 만들어 문제를 간단히 해결할 수 있다.
만약 개수가 홀수인 문자가 있다면 그 문자열은 even일 수 없게 되고, 짝수인 문자가 있다면 그 문자열은 odd일 수 없게 된다. 이를 이용해 조건문을 잘 설정하는 것으로 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int cnt[128];
bool even = 1, odd = 1;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
string s; cin >> s;
for (auto& l : s) cnt[l]++;
for (int i = 'a'; i <= 'z'; i++) {
if (cnt[i]) {
if (cnt[i] & 1) even = 0;
else odd = 0;
}
}
if (even) cout << 0;
else if (odd) cout << 1;
else cout << 2;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25932 // C++] Find the Twins (0) | 2022.11.05 |
---|---|
[BOJ 25830 // C++] Microwave Mishap (0) | 2022.11.05 |
[BOJ 3765 // C++] Celebrity jeopardy (0) | 2022.11.05 |
[BOJ 25636 // C++] 소방차 (0) | 2022.11.04 |
[BOJ 25639 // C++] 수열과 최대 상승 쿼리 (0) | 2022.11.03 |