[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ์š”๊ฒฉ ์‹œ์Šคํ…œ(C++)

2023. 6. 5. 04:03ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

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

๋‚ด ํ’€์ด 1๋ฒˆ

์ฒซ๋ฒˆ์งธ ํ’€์ด์—์„œ๋Š” ๋ฏธ์‚ฌ์ผ ์š”๊ฒฉ ๋ฒ”์œ„๋ฅผ ์ ์  ์ค„์—ฌ๋‚˜๊ฐ€๋‹ค๊ฐ€ ๋” ์ด์ƒ ๋ฒ”์œ„ ์•ˆ์— ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฏธ์‚ฌ์ผ์ด ์—†์œผ๋ฉด ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค.

 

๊ณผ์ •

1. ๋ฏธ์‚ฌ์ผ๋“ค์„ ์‹œ์ž‘ ์‹œ์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

2. ์ฒซ๋ฒˆ์งธ ๋ฏธ์‚ฌ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์žก๋Š”๋‹ค.

3. ๋‹ค์Œ ๋ฏธ์‚ฌ์ผ์ด ๋ฒ”์œ„ ์•ˆ์— ๋“ค์–ด์™”๋‹ค๋ฉด, ๋‹ค์Œ ๋ฏธ์‚ฌ์ผ์˜ ์‹œ์ž‘์ ์„ ๋ฒ”์œ„์˜ Start ์ง€์ ์œผ๋กœ ์„ค์ •ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ๋ฒ”์œ„์˜ end์™€ ๋‹ค์Œ ๋ฏธ์‚ฌ์ผ์˜ ์ข…๋ฃŒ์  ์ค‘ ๋” ์ž‘์€ ๊ฒƒ์„ ๋ฒ”์œ„์˜ End ์ง€์ ์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.

4. ๋งŒ์•ฝ ๋‹ค์Œ ๋ฏธ์‚ฌ์ผ์ด ๋ฒ”์œ„ ์•ˆ์— ์—†๋‹ค๋ฉด, ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ์„ ์ถ”๊ฐ€ํ•˜๊ณ  2๋ฒˆ์œผ๋กœ ๋Œ์•„๊ฐ€ ๋‹ค์Œ ๋ฏธ์‚ฌ์ผ์„ ๊ธฐ์ค€์ ์œผ๋กœ ์žก๊ณ  ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

5. ๊ฒฐ๊ณผ

์ฝ”๋“œ

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

bool cmp (const vector<int>& v1, const vector<int>& v2)
{
    return v1[0] < v2[0];
};


int solution(vector<vector<int>> targets) {
    int answer = 0;
    
    // ๋ฏธ์‚ฌ์ผ ์‹œ์ž‘์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ
    sort(targets.begin(), targets.end(), cmp);
    
    int idx = 0;
    while(idx < targets.size())
    {   
        ++answer;
        
        int start = targets[idx][0];
        int end = targets[idx][1];
        int missile_count = 1;

        for(int i = idx+1; i < targets.size(); ++i)
        {
        	// ์ด๋ฒˆ ๋ฏธ์‚ฌ์ผ์ด ๋ฒ”์œ„ ๋‚ด์— ์žˆ๋‹ค๋ฉด
            if(start <= targets[i][0] && end > targets[i][0])
            {
                ++missile_count;
                
                // ๋ฒ”์œ„๋ฅผ ๋” ์ขํžŒ๋‹ค.
                start = targets[i][0];
                end = min(end, targets[i][1]);
            }
            else
            {
                break;
            }
        }
        
        idx += missile_count;
    }
    
    return answer;
}

๋‚ด ํ’€์ด 2๋ฒˆ

๋” ๊ฐ„๋‹จํ•œ ๋‹ค๋ฅธ ์ •๋‹ต ์ฝ”๋“œ๊ฐ€ ์žˆ์–ด์„œ ์ด๊ฑธ๋กœ๋„ ํ’€์–ด๋ดค๋‹ค. ์ด๊ฑด ์ฝ”๋“œ ๋จผ์ € ๊ณต์œ ํ•˜๊ฒ ๋‹ค.

์ฝ”๋“œ

#include <bits/stdc++.h>

using namespace std;

bool cmp(const vector<int>& a, const vector<int>& b) {
  return a[1] < b[1];
}

int solution(vector<vector<int>> targets) {
  sort(targets.begin(), targets.end(), cmp);

  int ans = 0;
  int t = -1;
  for (auto& tar: targets) {
    if (tar[0] >= t) {
      t = tar[1];
      ans++;
    }
  }

  return ans;
}

๊ณผ์ •

1. ๋ฏธ์‚ฌ์ผ๋“ค์„ ์ข…๋ฃŒ ์ง€์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

2. ๋ฏธ์‚ฌ์ผ์„ ์ˆœ์„œ๋Œ€๋กœ ์ˆœํšŒํ•˜๋ฉด์„œ ๋งŒ์•ฝ ํ˜„์žฌ ๋ฏธ์‚ฌ์ผ์˜ ์‹œ์ž‘ ์ง€์ ์ด t ์ง€์ ๋ณด๋‹ค ํฌ๋‹ค๋ฉด t์ง€์ ์„ ํ˜„์žฌ ๋ฏธ์‚ฌ์ผ์˜ ์ข…๋ฃŒ ์ง€์ ์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. 

3. ๊ฒฐ๊ณผ

t ์ง€์  ๋ณ€ํ™” ๊ณผ์ •
(์ขŒ) 1๋ฒˆ ์ฝ”๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ    (์šฐ)2๋ฒˆ ์ฝ”๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ–ฅ๏ธ Study Note > Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ๋ฏธ๋กœ ํƒˆ์ถœ(C++)  (0) 2023.06.07
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.3 - ๋‹จ์† ์นด๋ฉ”๋ผ(C++)  (0) 2023.06.06
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.3 - ์ด์ค‘์šฐ์„ ์ˆœ์œ„ํ(C++)  (0) 2023.06.04
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.3 - ์ •์ˆ˜ ์‚ผ๊ฐํ˜•(C++)  (0) 2023.06.03
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ์Šคํ‚ฌํŠธ๋ฆฌ(C++)  (0) 2023.06.02
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ๋ฏธ๋กœ ํƒˆ์ถœ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.3 - ๋‹จ์† ์นด๋ฉ”๋ผ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.3 - ์ด์ค‘์šฐ์„ ์ˆœ์œ„ํ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.3 - ์ •์ˆ˜ ์‚ผ๊ฐํ˜•(C++)
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (141)
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (135)
        • Unreal Engine (5)
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (6)
        • ์˜ค๋‹ต๋…ธํŠธ (2)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
Beankong_
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level.2 - ์š”๊ฒฉ ์‹œ์Šคํ…œ(C++)
์ƒ๋‹จ์œผ๋กœ

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