본문 바로가기
Programming/Algorithm

백준 호텔

by OKOK 2018. 1. 25.

/*

2차원 배열을 만들고 그에 대해서 어떻게 접근할 것인지 문제입니다. 오늘이

목요일이니, 시간을 두고 풀어나가도록 하겠습니다. 내일 몇개 내일 몇개 내일 몇개를

풀면 딱입니다. 주말빼면 진짜 50일밖에 안남았네.. 덜덜 이럴 수가. 그게 진짜 시험일에

맞춰둔 것입니다. 77일에서 헐. 이거 20분만에 클리어고고합니다.

예제 하나만 처리하도록 하겠습니다. 기존에 행렬을 만들 필요는 없습니다.

값이 정해져있기 때문에, 들어오는 숫자들에 대해서 처리하면 됩니다. 


10 > 6 보다 크기 때문에

새로운 N = 10 - 6을 합니다. 이것을 계속반복하는 군요 

그리고 col++;


4 > 6 보다 크지 않습니다.

그럼 이 4는 고스란히 row = N; 으로 됩니다.

그리고 정답은 ans = row*100 + col ;


*/


#include <iostream>


using namespace std;


int H, W, N;

int ans;

int col=1, row;



void problemIn() {

cin >> H >> W >> N;

}


void solve() {

col = 1;

row = 0;

for (int i = 0; N > H; i++) {

N = N - H;

col++;

}


row = N;

cout << row * 100 + col << endl;

}


int main(void) {

int T;

cin >> T;

for (int i = 0; i < T; i++) {

problemIn();

solve();

}

return 0;


백준 호텔, 기존에 풀이보다 잘 풀었습니다. 기본적인 규칙에 대해서 가시적으로도 답이 있으면, 풀이하는데 문제가 적습니다. 연습해서 갑니다. 그리고 꼭 알아야하는 것들에 대해서 정리해보도록 합니다. 동적배열도 반드시 필요한가? 그리고, 기초를 닦아서 코드 그라운드 문제를 풀이하도록 합니다.