문제
https://school.programmers.co.kr/learn/courses/30/lessons/389478
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int solution(int n, int w, int num) {
int answer = 0;
vector<vector<int>>v;
int h=(n-1)/w+1;
int x=1;
for(int k=0;k<h;k++){
vector<int>list;
for(int i=1;i<=w;i++){
if(x <= n)
list.push_back(x++);
}
if(x>n){
for(int i=0;i<(w - (n % w)) % w;i++){ //마지막에 %w를 추가해야 꽉 찬 경우도 고려려
list.push_back(0);
}
}
if(k%2!=0)
reverse(list.begin(), list.end());
v.push_back(list);
}
for(int i=0;i<h;i++){
for(int j=0;j<w;j++){
if(v[i][j]==num){
answer=h-i;
if(v[h-1][j]==0)
answer--;
return answer;
}
}
}
}
'PS > Programmers' 카테고리의 다른 글
[프로그래머스 Lv.2] 카펫(C++) (0) | 2025.04.03 |
---|---|
[프로그래머스 Lv.1] 같은 숫자는 싫어(C++) (0) | 2025.03.31 |
[프로그래머스 Lv.1] 폰켓몬(C++) (0) | 2025.03.28 |
[프로그래머스 Lv.1] 완주하지 못한 선수(C++) (0) | 2025.03.24 |
[프로그래머스 Lv.2] 서버 증설 횟수(C++) (0) | 2025.03.22 |
댓글