BOJ 31867 홀짝홀짝
sorohue가 PS하는 블로그
BOJ 31867 홀짝홀짝
문제 링크입니다.
구현 쉽게 하기
제한이 크니 $K$는 문자열로 받아줍시다. $K$의 각 숫자가 홀수인 지 짝수인 지 판별해야 합니다.
C++에서 std::string은 부분적으로 std::vector<char>처럼 다룰 수 있습니다. 문자열로 받은 $K$의 각 자리를 char로 이터레이팅해 줍시다. 그냥 auto로 해도 잘 작동하긴 합니다.
ASCII로 숫자 0 이 48로, 짝수입니다. 그래서 우리는 char 로 나타낸 이 숫자에 해당하는 ASCII 코드가 짝수인지를 확인하는 것으로 해당하는 숫자가 짝수인 지 알 수 있습니다. 그냥 문자를 그대로 갖다 나머지 연산을 해 주면 됩니다.
코드
1
2
3
4
5
6
7
8
9
10
#include<bits/stdc++.h>
using namespace std;
int ans;
int main(){
cin.tie(0); ios::sync_with_stdio(false);
int n; string k; cin >> n >> k;
for(char c : k) ans += c&1 ? 1 : -1;
cout << -1+2*(ans>0)+(ans<0);
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.