๐Ÿ•๏ธ ICPC Sinchon/Greedy

[BOJ][C++] ๋ฐฑ์ค€ 20365๋ฒˆ: ๋ธ”๋กœ๊ทธ2 (Silver III)

์„ ๋‹ฌ 2025. 3. 18. 02:33
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

neighbor ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•˜๋Š” ์ผ์šฐ๋Š” ๋งค์ผ ์•„์นจ ํ’€๊ณ  ์‹ถ์€ ๋ฌธ์ œ๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด๋†“๊ณ  ๊ธ€์„ ์˜ฌ๋ฆฐ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งค์ผ ๋ฐค ๊ฐ๊ฐ์˜ ๋ฌธ์ œ์— ๋Œ€ํ•˜์—ฌ, ํ•ด๊ฒฐํ•œ ๊ฒฝ์šฐ ํŒŒ๋ž€์ƒ‰, ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์น ํ•œ๋‹ค. ์ผ์šฐ๋Š” ๊ฐ ๋ฌธ์ œ๋ฅผ ์น ํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์„ ํ•œ ๋ฒˆ์˜ ์ž‘์—…์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ƒ‰์„ ์น ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜ ์ˆ˜N(1 ≤N≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค.
๋‘˜์งธ ์ค„์—N๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ ์—†์ด ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๋ฌธ์ž๋Š”i๋ฒˆ์งธ ๋ฌธ์ œ๋ฅผ ์–ด๋–ค ์ƒ‰์œผ๋กœ ์น ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ,R์€ ๋นจ๊ฐ„์ƒ‰,B๋Š” ํŒŒ๋ž€์ƒ‰์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ทธ ์™ธ์— ๋‹ค๋ฅธ ๋ฌธ์ž๋Š” ์ฃผ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ผ์šฐ๊ฐ€ ์ฃผ์–ด์ง„ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ์›ํ•˜๋Š” ์ƒ‰์œผ๋กœ ์น ํ•  ๋•Œ๊นŒ์ง€ ํ•„์š”ํ•œ ์ž‘์—… ํšŸ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ผ.

 

ํ’€์ด

// ํ’€์ด : https://whkakrkr.tistory.com

#include <bits/stdc++.h>

using namespace std;


int solution(int n, string s) {
    int ans;
    
    int change = 0;
    for(int i=1; i<n; i++) {
        if(s[i-1] != s[i]) {
            change++;
        }
    }

    ans = (change+1)/2 + 1;
    
    return ans;
}

int main() {
    ios_base::sync_with_stdio(false);
	cout.tie(NULL);
	cin.tie(NULL);
	
	int n;
	string s;
	cin >> n >> s;
	
	cout << solution(n, s);
	
    return 0;
}
๋ฐ˜์‘ํ˜•