[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.3 - ์ธ์‚ฌ๊ณ ๊ณผ(C++)

2023. 8. 1. 16:07ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

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

๋ฌธ์ œ ์„ค๋ช…

์™„ํ˜ธ๋„ค ํšŒ์‚ฌ๋Š” ์—ฐ๋ง๋งˆ๋‹ค 1๋…„ ๊ฐ„์˜ ์ธ์‚ฌ๊ณ ๊ณผ์— ๋”ฐ๋ผ ์ธ์„ผํ‹ฐ๋ธŒ๋ฅผ ์ง€๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์‚ฌ์›๋งˆ๋‹ค ๊ทผ๋ฌด ํƒœ๋„ ์ ์ˆ˜์™€ ๋™๋ฃŒ ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š”๋ฐ ๋งŒ์•ฝ ์–ด๋–ค ์‚ฌ์›์ด ๋‹ค๋ฅธ ์ž„์˜์˜ ์‚ฌ์›๋ณด๋‹ค ๋‘ ์ ์ˆ˜๊ฐ€ ๋ชจ๋‘ ๋‚ฎ์€ ๊ฒฝ์šฐ๊ฐ€ ํ•œ ๋ฒˆ์ด๋ผ๋„ ์žˆ๋‹ค๋ฉด ๊ทธ ์‚ฌ์›์€ ์ธ์„ผํ‹ฐ๋ธŒ๋ฅผ ๋ฐ›์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ์‚ฌ์›๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ๋‘ ์ ์ˆ˜์˜ ํ•ฉ์ด ๋†’์€ ์ˆœ์œผ๋กœ ์„์ฐจ๋ฅผ ๋‚ด์–ด ์„์ฐจ์— ๋”ฐ๋ผ ์ธ์„ผํ‹ฐ๋ธŒ๊ฐ€ ์ฐจ๋“ฑ ์ง€๊ธ‰๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ๋‘ ์ ์ˆ˜์˜ ํ•ฉ์ด ๋™์ผํ•œ ์‚ฌ์›๋“ค์€ ๋™์„์ฐจ์ด๋ฉฐ, ๋™์„์ฐจ์˜ ์ˆ˜๋งŒํผ ๋‹ค์Œ ์„์ฐจ๋Š” ๊ฑด๋„ˆ ๋œ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ ์ˆ˜์˜ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ์‚ฌ์›์ด 2๋ช…์ด๋ผ๋ฉด 1๋“ฑ์ด 2๋ช…์ด๊ณ  2๋“ฑ ์—†์ด ๋‹ค์Œ ์„์ฐจ๋Š” 3๋“ฑ๋ถ€ํ„ฐ์ž…๋‹ˆ๋‹ค.

๊ฐ ์‚ฌ์›์˜ ๊ทผ๋ฌด ํƒœ๋„ ์ ์ˆ˜์™€ ๋™๋ฃŒ ํ‰๊ฐ€ ์ ์ˆ˜ ๋ชฉ๋ก scores์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์™„ํ˜ธ์˜ ์„์ฐจ๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๋‚ด ์ฝ”๋“œ

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

using namespace std;

int solution(vector<vector<int>> scores) {
    int answer = 1;
    int score = scores[0][0] + scores[0][1];
    
    // ์ ์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
    auto comp = [](vector<int> v1, vector<int> v2) 
    {
        return (v1[0]+v1[1]) > (v2[0]+v2[1]);
    };
    
    sort(scores.begin()+1, scores.end(), comp);
    
    // ์™„ํ˜ธ ์œ„์น˜ ๊ตฌํ•˜๊ธฐ
    for(int i = 1; i < scores.size(); ++i)
    {
        // ์™„ํ˜ธ๊ฐ€ ์ธ์„ผํ‹ฐ๋ธŒ๋ฅผ ๋ชป ๋ฐ›๋Š” ๊ฒฝ์šฐ
        if(scores[0][0] < scores[i][0] 
          && scores[0][1] < scores[i][1])
            return -1;
        
        int other_score = scores[i][0] + scores[i][1];
        if(score < other_score)
            ++answer;
        else break;
    }
    
    // ์™„ํ˜ธ๋ณด๋‹ค ์•ž ์„  ์‚ฌ๋žŒ๋“ค ์ค‘ ์ธ์„ผํ‹ฐ๋ธŒ๋ฅผ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ์‚ฌ๋žŒ ๋นผ๊ธฐ
    int wanho = answer;
    for(int c = 2; c < wanho; ++c)
    {
        for(int p = 1; p < c; ++p)
        {        
            if(scores[c][0] < scores[p][0] 
               && scores[c][1] < scores[p][1])
            {
                --answer;
                break;
            }
        }
    }
    
    return answer;
}

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

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ๋””ํŽœ์Šค ๊ฒŒ์ž„(C++)  (0) 2023.08.07
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ํ• ์ธ ํ–‰์‚ฌ(C++)  (0) 2023.08.03
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - N-Queen(C++)  (0) 2023.07.31
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ(C++)  (0) 2023.07.28
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ํ…Œ์ด๋ธ” ํ•ด์‹œ ํ•จ์ˆ˜(C++)  (0) 2023.07.27
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ๋””ํŽœ์Šค ๊ฒŒ์ž„(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ํ• ์ธ ํ–‰์‚ฌ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - N-Queen(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ(C++)
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (146)
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (2)
        • C++ (1)
        • Unreal Engine (5)
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (8)
        • ์˜ค๋‹ต๋…ธํŠธ (4)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๋งํฌ

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

    • ์ธ๊ธฐ ๊ธ€

    • ํƒœ๊ทธ

      ํ—ฌํ…Œ์ด์ปค
      propertyaccess
      ๊ทธ๋ฆฌ๋””(greedy)
      ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ
      ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
      ์•Œ๊ณ ๋ฆฌ์ฆ˜
      ๊ฒŒ์ž„ ๋ชจ์ž‘
      programmers
      ๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      cpp
      OnlineSubsystem
      UnrealEngine
      unrealengine build system
      ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
      ํ”„๋ฃŒ๊ทธ๋ž˜๋จธ์Šค
      ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
      ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      UnrealEngine5
      unrealengine module
    • ์ตœ๊ทผ ๋Œ“๊ธ€

    • ์ตœ๊ทผ ๊ธ€

    • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
    Beankong_
    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.3 - ์ธ์‚ฌ๊ณ ๊ณผ(C++)
    ์ƒ๋‹จ์œผ๋กœ

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