728x90
728x90
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN
풀이
메모리 bit 중 하나를 바꾸면 메모리 끝까지 덮어씌우기 때문에
만약 1010은
이렇게 변화하는 것을 볼 수 있다.
첫번째 글자부터 시작해서 0 -> 1 or 1 -> 0 바뀔 때마다 고친 횟수로 카운트하면 된다.
생각보다 간단한 문제였는데 길 잘못 들었으면 빙빙 돌아갈 뻔 했습니다 ...
문제를 보고 바로 코드 짜기보다는 펜을 잡고 생각해보는 습관을 가지자!@!
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int t_c = 0;
cin >> t_c;
for (int i = 0; i < t_c; i++) {
string str;
cin >> str;
int ans = 0; // 정답
char c = '0';
for (int j = 0; j < str.size(); j++) {
if (c == str[j]) continue;
else {
c = str[j]; // 바뀔때마다 count
ans++;
}
}
cout << "#" << i + 1 << " " << ans << endl;
} // t_c
return 0;
}
728x90
728x90
'Algorihtm > SWEA' 카테고리의 다른 글
C++ SWEA 1493. 수의 새로운 연산 (0) | 2023.11.16 |
---|---|
C++ SWEA 2817. 부분 수열의 합 (0) | 2023.11.12 |
C++ SWEA 1860. 진기의 최고급 붕어빵 (0) | 2023.11.08 |
C++ SWEA 16800. 구구단 걷기 (0) | 2023.11.07 |
C++ SWEA 1983. 조교의 성적 매기기 (0) | 2023.11.07 |