[SWEA][C++] 1289. ์›์žฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ณต๊ตฌํ•˜๊ธฐ

2024. 10. 16. 17:09ยท๐Ÿ’ญ Problem Solving/C++

๋ฌธ์ œ

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

 

๋ฌธ์ œ ์ดํ•ด

  • ์ดˆ๊ธฐํ™” ์ƒํƒœ(๋ชจ๋“  bit๊ฐ€ 0)์—์„œ ์›๋ž˜ ์ƒํƒœ๋กœ ๋ณต๊ตฌํ•ด์•ผ ํ•œ๋‹ค.
  • ๋ณต๊ตฌํ•  ๋•Œ๋Š” bit ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ 0 ๋˜๋Š” 1์„ ๊ฒฐ์ •ํ•˜๊ณ , ํ•ด๋‹น ๊ฐ’์ด ๋ฉ”๋ชจ๋ฆฌ์˜ ๋๊นŒ์ง€ ๋ฎ์–ด์”Œ์›Œ์ง„๋‹ค.
  • ์ดˆ๊ธฐํ™” ์ƒํƒœ์—์„œ ์›๋ž˜ ์ƒํƒœ๋กœ ๋ณต๊ตฌํ•  ๋•Œ ์ตœ์†Œ ์ˆ˜์ • ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

  1. ์ž…๋ ฅ: 0011
    0000์—์„œ 3๋ฒˆ์งธ bit๋ฅผ ๊ณจ๋ผ 1๋กœ ์„ค์ •ํ•˜๋ฉด 0011์ด ๋˜๋ฏ€๋กœ, ์ถœ๋ ฅ๊ฐ’์€ 1์ด๋‹ค.
  2. ์ž…๋ ฅ: 100
    000 → 111 → 100๋กœ, ์ถœ๋ ฅ๊ฐ’์€ 2์ด๋‹ค.

 

๋ฌธ์ œ ํ’€์ด

๐Ÿ” ์ ‘๊ทผ

๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด์„œ ์ดˆ๊ธฐํ™” ์ƒํƒœ์™€ ์›๋ž˜ ์ƒํƒœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฒซ ๋ฒˆ์งธ bit๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, ์ด ๋ฐฉ๋ฒ•๋Œ€๋กœ๋ฉด ์ดˆ๊ธฐํ™” ์ƒํƒœ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์›๋ž˜ ์ƒํƒœ์˜ bit ๊ธธ์ด๋งŒํผ 0์„ ํ• ๋‹นํ•ด์•ผํ•œ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๊ธธ์ด๊ฐ€ 50์ผ ๊ฒฝ์šฐ, 50๋ฒˆ 0์„ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š” ์ผ์ด ๋ฐœ์ƒํ•œ๋‹ค.

์ด ๊ณผ์ •์„ ์ƒ๋žตํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด์ž.

 

๐Ÿ”จ ๊ตฌํ˜„

์ดˆ๊ธฐํ™” ์ƒํƒœ์™€ ์›๋ž˜ ์ƒํƒœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ํšจ์œจ์ ์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์„ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

bit๋ฅผ ํ•œ ๋ฒˆ ์ˆ˜์ •ํ•  ๋•Œ๋Š” ํ•ด๋‹น bit๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ˆ˜์ •๋˜๋ฏ€๋กœ,
์ดˆ๊ธฐํ™” ์ƒํƒœ์˜ ํ˜„์žฌ bit๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ž„์‹œ ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•ด 0, 1๋กœ ๋ฐ”๊พธ๋ฉด์„œ ์›๋ž˜ ์ƒํƒœ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.

1. ์ž„์‹œ ๋ณ€์ˆ˜(temp)์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋Š” '0'์ด๋‹ค.
2. ์›๋ž˜ ์ƒํƒœ string์„ ์ˆœํšŒํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค.
    - ์›๋ž˜ ์ƒํƒœ์˜ ํ˜„์žฌ bit๊ฐ€ temp์™€ ๊ฐ™์œผ๋ฉด, ๋‹ค์Œ bit๋กœ ์ด๋™ํ•œ๋‹ค.
    - ๋‹ค๋ฅด๋ฉด, temp๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ (0 → 1, 1 → 0) ๋ณ€๊ฒฝ ํšŸ์ˆ˜๋ฅผ ๋Š˜๋ฆฐ๋‹ค.

 

์ฝ”๋“œ

#include<iostream>

using namespace std;

int main() {
    int T;

    cin >> T;

    for (int test_case = 1; test_case <= T; ++test_case) {
        string origin;
        int ans = 0;
        char temp = '0';

        cin >> origin;

        for (char c: origin) {
            if (c == temp) continue;

            temp = c;
            ans++;
        }

        cout << '#' << test_case << ' ' << ans << '\n';
    }

    return 0;
}

'๐Ÿ’ญ Problem Solving > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ][C++] ๋ฐฑ์ค€ 15650๋ฒˆ: N๊ณผ M (2)  (0) 2024.10.28
[BOJ][C++] ๋ฐฑ์ค€ 15649๋ฒˆ: N๊ณผ M (1)  (0) 2024.10.28
[BOJ][C++] ๋ฐฑ์ค€ 2002๋ฒˆ: ์ถ”์›”  (0) 2024.06.14
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ๋„คํŠธ์›Œํฌ  (0) 2024.06.04
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ํฐ ์ˆ˜ ๋งŒ๋“ค๊ธฐ  (0) 2024.06.02
'๐Ÿ’ญ Problem Solving/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ][C++] ๋ฐฑ์ค€ 15650๋ฒˆ: N๊ณผ M (2)
  • [BOJ][C++] ๋ฐฑ์ค€ 15649๋ฒˆ: N๊ณผ M (1)
  • [BOJ][C++] ๋ฐฑ์ค€ 2002๋ฒˆ: ์ถ”์›”
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ๋„คํŠธ์›Œํฌ
0=2.
0=2.
  • 0=2.
    0=2
    0=2.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (56)
      • ๐Ÿ“‚ Project (2)
        • Paint the City (2)
      • ๐Ÿ’ญ Problem Solving (28)
        • C++ (28)
      • ๐Ÿ“ Study (6)
        • Web Front-End Basic (6)
      • ๐Ÿ’ป CS (2)
        • ๐Ÿ“˜ Dev Book (2)
        • ๐Ÿ“ฐ IT News & Research (0)
      • ๐Ÿƒ‍โ™€๏ธ Activities (18)
        • 42 Cursus (18)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    42๊ฒฝ์‚ฐ
    swea
    ์ •๋ ฌ
    .h
    VR
    dynamic programming
    ๋ฐฑ์ค€
    HTML
    La Piscine
    github
    git
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    CS
    BFS
    CSS
    C
    knapsack
    ๋งต
    dfs
    ๋ฐฑํŠธ๋ž˜ํ‚น
    ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    ๊ตฌํ˜„
    JavaScript
    ํ—ค๋”ํŒŒ์ผ
    ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    makefile
    unity
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
0=2.
[SWEA][C++] 1289. ์›์žฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ณต๊ตฌํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”