ALGORITHM/Kakao

(C++) 행렬 테두리 회전하기

김쿸후 2021. 5. 16. 00:16

1. 문제

https://programmers.co.kr/learn/courses/30/lessons/77485

 

2. 풀이

정말.. 말 그대로 돌리면 된닼ㅋㅋ

 

3. 코드

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int rows, int columns, vector<vector<int>> queries) {
    vector<vector<int>> square;
    vector<int> answer;
    int index = 1;
    for(int i = 0; i < rows; i ++){
        vector<int> element;
        for(int j = 0 ; j < columns; j++){
            element.push_back(index);
            index ++;
        }
        square.push_back(element);
    }
    
    for(int i = 0; i < queries.size();i++){
        //시작점 기억해두기
        int start = square[queries[i][0]-1][queries[i][1]-1];
        int min = start;
        //왼쪽 아래에서 위로 올라오기
        for(int j = queries[i][0]; j <= queries[i][2]-1;j++){
            if(min > square[j][queries[i][1]-1]) {
                min = square[j][queries[i][1]-1];}
            square[j-1][queries[i][1]-1] = square[j][queries[i][1]-1];
        }
        for(int j = queries[i][1]; j<= queries[i][3]-1;j++){
              if(min > square[queries[i][2]-1][j]) {
                min = square[queries[i][2]-1][j];}
            square[queries[i][2]-1][j-1] = square[queries[i][2]-1][j];
        }
        for(int j = queries[i][2]-2; j>= queries[i][0]-1;j--){
              if(min > square[j][queries[i][3]-1]) {
                min = square[j][queries[i][3]-1];}
            square[j+1][queries[i][3]-1] = square[j][queries[i][3]-1];
        }
        for(int j = queries[i][3]-2; j> queries[i][1]-1;j--){
              if(min > square[queries[i][0]-1][j]) {
                min = square[queries[i][0]-1][j];}
            square[queries[i][0]-1][j+1] = square[queries[i][0]-1][j];
        }
        square[queries[i][0]-1][queries[i][1]] = start;
        
        answer.push_back(min);
    }

    
    return answer;
}

 

4. 그 외

이번에 카카오 인턴십 코테에 떨어졌다. 

2.5~ 3 정도가 합격선이라고 했는데 2문제 확실하게 풀고

나머지 2개를 테스트 케이스 5개 아래로 모자라서 배점을 못받아 아쉬움이 많이 남는다.. 

문제를 끝까지 푸는 연습을 해야지...

그래도 아직 졸업까지 일년 반이나 남았으니... 조급해 하지않겠다면서 맨날 제일 조급하다 ㅋㅋㅋㅋ.....

인생 화이팅