๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Programmers)

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ–‰๋ ฌ ํ…Œ๋‘๋ฆฌ ํšŒ์ „ํ•˜๊ธฐ(Level 2)

by ์•ˆ์ฃผํ˜• 2022. 4. 8.

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ–‰๋ ฌ ํ…Œ๋‘๋ฆฌ ํšŒ์ „ํ•˜๊ธฐ

6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3]

programmers.co.kr

 

์ฝ”๋“œ

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int rows, int columns, vector<vector<int>> queries) {
    vector<int> answer;
    
    vector<int>v[10001];
    int num = 1;
    
    for(int i=0; i<rows; i++){
        for(int k=0; k<columns; k++){
            v[i].push_back(num);
            num++;
        }
    }
    
    for(int i=0; i<queries.size(); i++){
        int min_value = 1e9;
        int x1 = queries[i][0]-1, y1 = queries[i][1]-1;
        int x2 = queries[i][0]-1, y2 = queries[i][3]-1;
        int x3 = queries[i][2]-1, y3 = queries[i][3]-1;
        int x4 = queries[i][2]-1, y4 = queries[i][1]-1;
        int temp = v[x1][y1];
        
        for(int i=x1; i<x4; i++){
            v[i][y1] = v[i+1][y1];
            min_value = min(min_value, v[i][y1]);
        }
        for(int i=y4; i<y3; i++){
            v[x3][i] = v[x3][i+1];
            min_value = min(min_value, v[x3][i]);
        }
        for(int i=x3; i>x2; i--){
            v[i][y3] = v[i-1][y3];
            min_value = min(min_value, v[i][y3]);
        }
        for(int i=y2; i>y1; i--){
            v[x2][i] = v[x2][i-1];
            min_value = min(min_value, v[x2][i]);
        }
        v[x1][y1+1] = temp;
        min_value = min(min_value, temp);
        answer.push_back(min_value);
    }
    
    return answer;
}

 

ํ’€์ด

์ด์ „์— ํ’€์—ˆ๋˜ ๋ฐฑ์ค€์˜ ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ1 ๋ฌธ์ œ์—์„œ ๋ฐฉํ–ฅ๋งŒ ๊ฑฐ๊พธ๋กœ ๋œ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.

 

[๋ฐฑ์ค€,c++] 16926๋ฒˆ - ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ1

๋ฌธ์ œ 16926๋ฒˆ: ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 1 ํฌ๊ธฐ๊ฐ€ N×M์ธ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, ๋ฐฐ์—ด์„ ๋Œ๋ ค๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋ฐฐ์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๋ ค์•ผ ํ•œ๋‹ค. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[..

dkswnkk.tistory.com

์ด๋Ÿฐ ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ ๋ฌธ์ œ๋Š” ํ•ญ์ƒ ํ˜„์žฌ ์›์†Œ์˜ ๊ฐ’์„ ์ด์ „ ์›์†Œ์˜ ๊ฐ’์œผ๋กœ ๊ฐฑ์‹ ์‹œ์ผœ ์ฃผ๋ฉด์„œ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ฒฝ์šฐ๋Š” ์œ„ ๊ฒŒ์‹œ๊ธ€ ๋งํฌ์—์„œ ์ž์„ธํžˆ ์ •๋ฆฌํ•œ ์  ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

1 2 3
4 5 6
7 8 9

์œ„ ๋ฐฐ์—ด์„ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐฐ์—ด ์‹œ๊ณ„๋ฐฉํ–ฅ ํšŒ์ „

๋Œ“๊ธ€