num과 w를 가지고 계산식을 세워서 해도 됨
하지만 그림을 그려가면서 하고 싶어서 아래 방법을 선택.
#include <string>
#include <vector>
using namespace std;
int solution(int n, int w, int num) {
int answer = 0;
vector<vector<int>> vec(n/w + 1, vector<int>(w, 0));
int cnt = 0;
int num_pos = -1;
for (int i = 0; i< n/w + 1; i++){
if (i %2== 0){
for (int j = 0; j < w; j++){
cnt++;
vec[i][j] = cnt;
if (cnt == num){
num_pos = j;
answer++;
} else if (num_pos != -1 && num_pos == j){
answer++;
}
if (cnt == n){
return answer;
}
}
} else if (i%2 ==1){
for (int j = w-1; j > -1; j--){
cnt++;
vec[i][j] = cnt;
if (cnt == num){
num_pos = j;
answer++;
} else if (num_pos != -1 && num_pos == j){
answer++;
}
if (cnt == n){
return answer;
}
}
}
}
return answer;
}