[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ์ฒด์œก๋ณต

2024. 5. 24. 16:51ยท๐Ÿ’ญ Problem Solving/C++

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/42862

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

ํ’€์ด

1. ๋ชจ๋“  ํ•™์ƒ๋“ค์˜ ์ฒด์œก๋ณต ์ˆ˜ ๊ณ„์‚ฐ
    (1) ์ฒ˜์Œ์— ๋ชจ๋“  ํ•™์ƒ๋“ค์€ 1๊ฐœ์˜ ์ฒด์œก๋ณต์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
    (2) ์—ฌ๋ฒŒ์˜ ์ฒด์œก๋ณต์ด ์žˆ๋Š” ํ•™์ƒ: +1
    (3) ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ•œ ํ•™์ƒ: -1
2. 1๋ฒˆ ํ•™์ƒ๋ถ€ํ„ฐ ์ฒด์œก๋ณต์„ ๋นŒ๋ฆฌ๋Š” ๊ฒฝ์šฐ ๊ณ„์‚ฐ
    (1) ๋„๋‚œ๋‹นํ•œ ํ•™์ƒ(์ฒด์œก๋ณต ๊ฐœ์ˆ˜: 0)์€ ์–‘์˜†์˜ ํ•™์ƒ์—๊ฒŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€(์ฒด์œก๋ณต ๊ฐœ์ˆ˜: 2) ํ™•์ธํ•œ๋‹ค.
    (2) ์™ผ์ชฝ ํ•™์ƒ์—๊ฒŒ ์šฐ์„ ์ ์œผ๋กœ ๋นŒ๋ฆฐ๋‹ค.

 

๐Ÿšจ ์ „์ฒด ํ•™์ƒ ์ธ๋ฑ์Šค ์œ ์˜

  • ํ•™์ƒ ๋ฒˆํ˜ธ๊ฐ€ 1๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ  n + 1
  • n๋ฒˆ์งธ ํ•™์ƒ์ด ์˜ค๋ฅธ์ชฝ ํ•™์ƒ์„ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ n + 2

์ฝ”๋“œ

#include <iostream>
#include <vector>

using namespace std;

int solution(int n, vector<int> lost, vector<int> reserve) {
    int answer = n;
    vector<int> clothes(n + 2, 1);  // ์ฒ˜์Œ ํ•™์ƒ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ฒด์œก๋ณต ์ˆ˜: 1

    for (int i: reserve) {   // ์—ฌ๋ฒŒ์˜ ์ฒด์œก๋ณต์ด ์žˆ๋Š” ํ•™์ƒ
        clothes[i]++;
    }
    for (int i: lost) {  // ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ•œ ํ•™์ƒ
        clothes[i]--;
    }

    for (int i = 1; i <= n; i++) {
        if (clothes[i]) { // ์ฒด์œก๋ณต์ด ์žˆ์Œ
            continue;
        }
        if (clothes[i - 1] == 2) {    // ์™ผ์ชฝ ํ•™์ƒ์—๊ฒŒ ๋นŒ๋ฆฌ๊ธฐ
            clothes[i - 1]--;
            clothes[i]++;
        } else if (clothes[i + 1] == 2) { // ์˜ค๋ฅธ์ชฝ ํ•™์ƒ์—๊ฒŒ ๋นŒ๋ฆฌ๊ธฐ
            clothes[i + 1]--;
            clothes[i]++;
        }
    }

    for (int i = 1; i <= n; i++) {
        if (!clothes[i]) {
            answer--;
        }
    }

    return answer;
}

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ  (0) 2024.05.27
[BOJ][C++] ๋ฐฑ์ค€ 20546๋ฒˆ: ๐Ÿœ ๊ธฐ์ ์˜ ๋งค๋งค๋ฒ• ๐Ÿœ  (0) 2024.05.26
[BOJ][C++] ๋ฐฑ์ค€ 1212๋ฒˆ: 8์ง„์ˆ˜ 2์ง„์ˆ˜  (0) 2024.05.24
[BOJ][C++] ๋ฐฑ์ค€ 9184๋ฒˆ: ์‹ ๋‚˜๋Š” ํ•จ์ˆ˜ ์‹คํ–‰  (0) 2024.05.12
[SWEA][C++] 1209. [S/W ๋ฌธ์ œํ•ด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - Sum  (0) 2024.05.06
'๐Ÿ’ญ Problem Solving/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ
  • [BOJ][C++] ๋ฐฑ์ค€ 20546๋ฒˆ: ๐Ÿœ ๊ธฐ์ ์˜ ๋งค๋งค๋ฒ• ๐Ÿœ
  • [BOJ][C++] ๋ฐฑ์ค€ 1212๋ฒˆ: 8์ง„์ˆ˜ 2์ง„์ˆ˜
  • [BOJ][C++] ๋ฐฑ์ค€ 9184๋ฒˆ: ์‹ ๋‚˜๋Š” ํ•จ์ˆ˜ ์‹คํ–‰
0=2.
0=2.
  • 0=2.
    0=2
    0=2.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (66)
      • ๐Ÿ“‚ Project (2)
        • Paint the City (2)
      • ๐Ÿ’ญ Problem Solving (29)
        • C++ (28)
        • Java (1)
      • ๐Ÿ“ Study (1)
        • React (1)
      • ๐Ÿ’ป CS (2)
        • Dev Book ๐Ÿ“˜ (2)
      • ๐Ÿƒ‍โ™€๏ธ Activities (32)
        • Web Front-End Basic Study (6)
        • 42 Cursus (26)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
0=2.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][C++] ์ฒด์œก๋ณต
์ƒ๋‹จ์œผ๋กœ

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