๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

[C++/PGS] Lv.1 : [PCCE ๊ธฐ์ถœ๋ฌธ์ œ] 10๋ฒˆ / ๊ณต์›

by xxilliant 2025. 6. 11.
728x90
๋ฐ˜์‘ํ˜•

 

https://school.programmers.co.kr/learn/courses/30/lessons/340198#

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr


ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ 1. pcce ๊ธฐ์ถœ

๋ฒ”์œ„๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ž‘์•„์„œ, ๋ฐ˜๋ณต๋ฌธ์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ค‘์ฒฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!

 

 

๋‚˜์˜ ํ’€์ด

#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

int solution(vector<int> mats, vector<vector<string>> park) {
    int answer = -1;
    sort(mats.begin(), mats.end(), greater<int>());
    for(int i=0; i<park.size(); ++i){
        for(int j=0; j<park[0].size(); ++j){
            if(park[i][j] != "-1") continue;
            for(int k: mats){
                bool can = true;
                for(int a=i; a<i+k; ++a){
                    for(int b=j; b<j+k; ++b){
                        if(a<0 || b<0 || a>=park.size() || b>=park[0].size()) {
                            can = false; break;
                        }
                        if(park[a][b] != "-1"){
                            can = false; break;
                        }
                    }
                    if(!can) break;
                }
                if(can) answer = max(answer, k);
            }
        }
    }
    return answer;
}

728x90
๋ฐ˜์‘ํ˜•