문제
제출코드
#include <iostream>
#include <cassert>
#include <vector>
#include <algorithm>
#include <string>
int main(){
std::string str;
std::cin>>str;
int o=0, l=0;
if(str[0] == '0') o++;
else l++;
// 연속해서 나오지 않는 숫자는 해당 변수에서 1씩 증가
for(int i=1; i<str.size(); i++){
if(str[i] == '0' && str[i-1] != str[i]) o++;
else if(str[i] == '1' && str[i-1] != str[i]) l++;
}
// 더 적은 횟수를 출력
if(l < o) std::cout<<l;
else std::cout<<o;
return 0;
}
풀이
string을 입력받아서 '연속해서 나오는 숫자'가 '아니면' 해당 변수를 1씩 증가시켰다.
그 후, 횟수가 작은 변수를 출력한다.
후기
4번을 틀렸다. 정말 어이없는 실수였다. 테스트할 때 입력값을 넣는게 귀찮아서 첫줄에 입력값을 아예 줬었는데 제출할때 수정하지 않았다. 이런 실수는 하지 않게 테스트할 때 주석으로 적어야겠다.
'Algorithm 문제풀기 > Baekjoon' 카테고리의 다른 글
[C++] 13417번 카드 문자열 (0) | 2021.02.16 |
---|---|
[C++] 11497번 통나무 건너뛰기 (0) | 2021.02.14 |
[C++] 5585번 거스름돈 (0) | 2021.02.12 |
[C++] 11047번 동전 0 (0) | 2021.02.12 |
[C++] 1032번 명령 프롬프트 (0) | 2021.02.01 |