MS's log
  • HOME
  • TAG
  • GUESTBOOK
  • ADMIN
Close

Who am I?

  • github.com/mskim9967

Category

  • 분류 전체보기 (121)
    • 대회, 프로젝트 (21)
      • 2021 국방 공공데이터 경진대회 (1)
      • 2021 군장병 해커톤 (16)
      • 2021 UNI-DTHON (1)
    • Study (58)
      • Backend (29)
      • Infra, DevOps (9)
      • Frontend (14)
      • Data Structure (6)
    • Coding Test (40)
      • Codeforces (1)
      • 백준 (10)
      • codeground (19)
      • 프로그래머스 (9)

Recent Post

Popular Post

Comment

Tags

  • rn
  • DevOps
  • React Native
  • 군대공부

Visitor Counter

어제

오늘

전체

행렬 테두리 회전하기 / 2021 Dev-Matching: 웹 백엔드 개발자
By _MS
Coding Test/프로그래머스
2021. 10. 29. 16:33

문제

문제 읽기

 

코딩테스트 연습 - 행렬 테두리 회전하기

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

해결

  • 실제로 이차원 배열을 만들어서 회전시킴
  • 기존의 좌표 개념이랑 문제의 좌표 개념이 다른 듯 하다🤔 문제를 꼼꼼히 읽자

소스코드

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

    Writer
    MyungSeung Kim(mskim9967@gmail.com)
*/

#include <bits/stdc++.h>
using namespace std;

int mmap[100][100];

int rotate(vector<int> &query) {
    int xmin = query[1] - 1, xmax = query[3] - 1,
        ymin = query[0] - 1, ymax = query[2] - 1,
        x = xmin, y = ymin, tmp = mmap[y][x], mmin = INT_MAX;

    while(x < xmax) 
        mmin = min(mmin, tmp), swap(tmp, mmap[y][x + 1]), x++;
    while(y < ymax) 
        mmin = min(mmin, tmp), swap(tmp, mmap[y + 1][x]), y++;
    while(x > xmin) 
        mmin = min(mmin, tmp), swap(tmp, mmap[y][x - 1]), x--;
    while(y > ymin) 
        mmin = min(mmin, tmp), swap(tmp, mmap[y - 1][x]), y--;

    return mmin;
}

vector<int> solution(int rows, int columns, vector<vector<int>> queries) {
    vector<int> ans;
    for(int y = 0; y < rows; y++)
        for(int x = 0; x < columns; x++)
            mmap[y][x] = y * columns + x + 1;

    for(vector<int> query : queries) 
        ans.push_back(rotate(query));

    return ans;
}
저작자표시 동일조건 (새창열림)

'Coding Test > 프로그래머스' 카테고리의 다른 글

다단계 칫솔 판매 / 2021 Dev-Matching: 웹 백엔드 개발자  (0) 2021.10.31
로또의 최고 순위와 최저 순위 / 2021 Dev-Matching: 웹 백엔드 개발자  (0) 2021.10.29
피로도 / 12주차 위클리 챌린지  (0) 2021.10.29
프렌즈4블럭 / 2018 KAKAO BLIND RECRUITMENT 1차  (0) 2021.08.29
셔틀버스 / 2018 KAKAO BLIND RECRUITMENT 1차  (0) 2021.08.29
MS's log :: _MS
Contact
Github

Copyright MS's log

Designed by MemoStack

Unicons by Iconscout

티스토리툴바