๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 20365๋ฒˆ - ๋ธ”๋กœ๊ทธ2

by ์•ˆ์ฃผํ˜• 2022. 7. 24.

๋ฌธ์ œ

 

20365๋ฒˆ: ๋ธ”๋กœ๊ทธ2

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

www.acmicpc.net

 

์ฝ”๋“œ

#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int N; cin>>N;
    string s; cin>>s;
    
    
    
    char before = 'B';
    bool flag = true;
    int job = 1;
    
    for(int i=0; i<N; i++){
        if(s[i] == before){
            if(flag) job++;
            flag = false;
        }
        else{
            flag = true;
        }
    }
    before = 'R';
    flag = true;
    int job2 = 1;
    
    for(int i=0; i<N; i++){
        if(s[i] == before){
            if(flag) job2++;
            flag = false;
        }
        else{
            flag = true;
        }
    }
    cout<<min(job,job2);
}

 

ํ’€์ด

  1. ์—ฐ์†๋œ ์ž„์˜์˜ ๋ฌธ์ œ๋“ค์„ ์„ ํƒํ•œ๋‹ค.
  2. ์„ ํƒ๋œ ๋ฌธ์ œ๋“ค์„ ์ „๋ถ€ ์›ํ•˜๋Š” ๊ฐ™์€ ์ƒ‰์œผ๋กœ ์น ํ•œ๋‹ค.

๋ฌธ์ œ์˜ ์กฐ๊ฑด์€ ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

๋ฌธ์ œ ํ’€์ด ์•„์ด๋””์–ด๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•œ๋ฐ, B์™€ R๊ฐ€ ์—ฐ์†๋œ ์ƒ‰์ด ๋ช‡ ๋ฒˆ ๋‚˜์˜ค๋Š”์ง€๋งŒ ์นด์šดํŒ… ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

ํ•œ๋ฒˆ ์˜ˆ์ œ๋กœ ๋ถ€๊ฐ€์„ค๋ช…์„ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

8
BBRBRBBR

๋จผ์ € ์œ„ ์ž…์ถœ๋ ฅ์˜ ๊ฒฝ์šฐ R์˜ ์—ฐ์†๋œ ๊ฒฝ์šฐ๋Š” 3๋ฒˆ(R, R, R), B์˜ ๊ฒฝ์šฐ ์—ฐ์†๋œ ๊ฒฝ์šฐ๊ฐ€ 3๋ฒˆ(BB, B, BB)์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‘˜ ์ค‘ ์—ฐ์†๋œ ์ˆ˜๊ฐ€ ์ ์€ ์ˆ˜(์ง€๊ธˆ์€ ๋‘˜ ๋‹ค 3์œผ๋กœ ๋™์ผ)์—์„œ +1(๋‹ค๋ฅธ ์ƒ‰์„ ์‚ฌ์ „์— ์ „๋ถ€ ์น ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์„ ๊ฒฝ์šฐ)์„ ํ•˜๋ฉด ๋‹ต์ด ๋ฉ๋‹ˆ๋‹ค. 

6
BRRRRB

์œ„ ์ž…์ถœ๋ ฅ์˜ ๊ฒฝ์šฐ R์˜ ์—ฐ์†๋œ ๊ฒฝ์šฐ๋Š” 1๋ฒˆ(RRRR), B๊ฐ€ ์—ฐ์†๋œ ๊ฒฝ์šฐ(B, B)2๋ฒˆ ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‘˜ ์ค‘ ์—ฐ์†๋œ ์ˆ˜๊ฐ€ ์ ์€ ์ˆ˜์ธ R์—๋‹ค๊ฐ€ ์ฒ˜์Œ B๋กœ ์ „๋ถ€ ์น ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ+1์„ ๋”ํ•˜๋ฉด 2๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜์–ด ์ •๋‹ต์ด ๋ฉ๋‹ˆ๋‹ค. 

๋Œ“๊ธ€