Search
Duplicate
📗

블로그2

주차
문제번호
20365
언어
C++
티어
실버
유형
그리디
문자열
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

처음 시작색을 기준으로 먼저 다 칠하고, 그와 반대되는 색들을 하나씩 칠함

놓쳤던 부분

B와 R중 더 많이 필요한 색을 기준으로 잡는 게 그리디 관점이라 생각함
첫 시작의 색을 기준으로 잡아야 했음
예)BRRRRB → answer : 2

코드

2912 KB

4 ms

#include <iostream> #include <string> using namespace std; int main(void) { int n; string input; int answer = 1; int tmp = 0; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; cin >> input; for (int i = 1; i < n; i++) { if (input[0] != input[i]) tmp++; else if (input[0] == input[i] && tmp != 0) { tmp = 0; answer++; } } if (tmp != 0) answer++; cout << answer; return (0); }
C++
복사