Algorihtm/SWEA
C++ SWEA 1289. 원재의 메모리 복구하기
JongHo.dev
2023. 11. 9. 20:53
728x90
728x90
SMALL
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이
메모리 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
LIST