[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ํ…Œ์ด๋ธ” ํ•ด์‹œ ํ•จ์ˆ˜(C++)

2023. 7. 27. 11:27ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

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

๋ฌธ์ œ ์„ค๋ช…

์™„ํ˜ธ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ•œ ํ…Œ์ด๋ธ”์€ ๋ชจ๋‘ ์ •์ˆ˜ ํƒ€์ž…์ธ ์ปฌ๋Ÿผ๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์€ 2์ฐจ์› ํ–‰๋ ฌ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ด์€ ์ปฌ๋Ÿผ์„ ๋‚˜ํƒ€๋‚ด๊ณ , ํ–‰์€ ํŠœํ”Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ปฌ๋Ÿผ์€ ๊ธฐ๋ณธํ‚ค๋กœ์„œ ๋ชจ๋“  ํŠœํ”Œ์— ๋Œ€ํ•ด ๊ทธ ๊ฐ’์ด ์ค‘๋ณต๋˜์ง€ ์•Š๋„๋ก ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ์™„ํ˜ธ๋Š” ์ด ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  1. ํ•ด์‹œ ํ•จ์ˆ˜๋Š” col, row_begin, row_end์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  2. ํ…Œ์ด๋ธ”์˜ ํŠœํ”Œ์„ col๋ฒˆ์งธ ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•˜๋˜, ๋งŒ์•ฝ ๊ทธ ๊ฐ’์ด ๋™์ผํ•˜๋ฉด ๊ธฐ๋ณธํ‚ค์ธ ์ฒซ ๋ฒˆ์งธ ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.
  3. ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์—์„œ S_i๋ฅผ i ๋ฒˆ์งธ ํ–‰์˜ ํŠœํ”Œ์— ๋Œ€ํ•ด ๊ฐ ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ i ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋“ค์˜ ํ•ฉ์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  4. row_begin ≤ i ≤ row_end ์ธ ๋ชจ๋“  S_i๋ฅผ ๋ˆ„์ ํ•˜์—ฌ bitwise XOR ํ•œ ๊ฐ’์„ ํ•ด์‹œ ๊ฐ’์œผ๋กœ์„œ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ data์™€ ํ•ด์‹œ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ž…๋ ฅ col, row_begin, row_end์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ํ…Œ์ด๋ธ”์˜ ํ•ด์‹œ ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๋‚ด ํ•ด์„ค

๋ฌธ์ œ ํ’€์ด๋ณด๋‹ค ๋ฌธ์ œ ์ดํ•ด๊ฐ€ ์–ด๋ ค์› ๋˜ ๋ฌธ์ œ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์ฃผ์˜ํ•  ์ ์€ ์กฐ๊ฑด์œผ๋กœ ์ฃผ์–ด์ง€๋Š” col, row_begin, row_end ๋“ฑ์˜ ๊ฐ’์ด ์ธ๋ฑ์Šค ๊ฐ’์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๋‚˜๋„ ์ฒ˜์Œ์—” ๋ณ€์ˆ˜๋ช… ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค ๊ฐ’์ด๋ผ๊ณ  ์ฐฉ๊ฐํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋‹ค.

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

using namespace std;

int solution(vector<vector<int>> data, int col, int row_begin, int row_end) {
    int answer = 0;
    
    auto comp = [&col](const vector<int>& v1, const vector<int>& v2)->bool
    {
        int idx = col-1;
        
        if(v1[idx] == v2[idx])
            return v1[0] > v2[0];
        
        else
            return v1[idx] < v2[idx];
    };
    
    sort(data.begin(), data.end(), comp);
    
    for(int i = row_begin-1; i < row_end; ++i)
    {
        int s_i = 0;
        
        for(int j = 0; j <  data[i].size(); ++j)
        {
            s_i += data[i][j] % (i+1);
        }
        answer = answer ^ s_i;
    }
    
    return answer;
}
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - N-Queen(C++)  (0) 2023.07.31
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ(C++)  (0) 2023.07.28
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.3 - ๊ฑฐ์Šค๋ฆ„๋ˆ(C++)  (0) 2023.07.25
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - [์นด์นด์˜ค ์ธํ„ด] ์ˆ˜์‹ ์ตœ๋Œ€ํ™”(C++)  (0) 2023.07.24
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜(C++)  (0) 2023.07.23
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - N-Queen(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.3 - ๊ฑฐ์Šค๋ฆ„๋ˆ(C++)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.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
      programmers
      ๊ฒŒ์ž„ ๋ชจ์ž‘
      ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      ํ—ฌํ…Œ์ด์ปค
      UnrealEngine5
      unrealengine build system
      UnrealEngine
      ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      ์•Œ๊ณ ๋ฆฌ์ฆ˜
      ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
      ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
      ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ
      ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
      ํ”„๋ฃŒ๊ทธ๋ž˜๋จธ์Šค
      ๊ทธ๋ฆฌ๋””(greedy)
      OnlineSubsystem
      ๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      unrealengine module
      cpp
    • ์ตœ๊ทผ ๋Œ“๊ธ€

    • ์ตœ๊ทผ ๊ธ€

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

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