1. ๋ฌธ์ ์ค๋ช ๐
2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธ
KEYWORD
: SIMULATION
์ด๋ ต๊ฒ ์๊ฐํ ๊ฒ ์์ด, ์ง๋ฏผ์ด๊ฐ ๊ฐ์ง ๋์๋ฆฌ ์ค ํฐ ๊ฒ๋ถํฐ ๊ณต์์ ๊ฒฉ์์ ์ผ์ผํ ๋๋ณด๋ฉด ๋๋ค.
๋ง์ฝ ๊ฒน์น๋ฉด ์ด์งํผ ๋ ์ ์๊ธฐ ๋๋ฌธ์, ๋ค์ ๊ฐ๋ฅํ ์๋ฆฌ๋ถํฐ start ํ๋ค.
์ฒซ๋ฒ์งธ ์๋ฆฌ๋ถํฐ ๋๋ณด์๋๋ฐ, ์ ๋ถ ๊ฒน์น๋ค. ๋ค์ start ๊ฐ๋ฅํ ๊ณณ์ผ๋ก ๋์ด๊ฐ๋ค.
์ด๋ ๊ฒ ์ญ ๊ฐ๋ค๊ฐ,
๋๋ ์ฌ๋ฐฑ์ ๋ง๋๋ฉด ๋ฐ๋ก ํ์ถํ๋ฉด ๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๋ ๋์๋ฆฌ ํฐ ๊ฑฐ๋ถํฐ ๋๋ณด๊ณ ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ง๋ฏผ์ด๋ 5x5๋ถํฐ ๋ค๊ณ ์์์ผ๋, ๊ณต์์๋ 5x5๋ฅผ ๋ ์๋ฆฌ๊ฐ ์๋ค.
3. ์ฝ๋ ์๊ฐ ๐
import java.util.*;
class Solution {
public int solution(int[] mats, String[][] park) {
int answer = -1;
int row = park.length;
int col = park[0].length;
Arrays.sort(mats);
universe:
for(int i = mats.length-1; i>= 0; i--){
int now = mats[i];
for(int j = 0; j <= row - now; j++){
for(int k = 0; k <= col - now; k++){
boolean isNowClear = true;
earth:
for(int a = j; a < j + now; a++){
for(int b = k; b < k + now; b++){
if(!park[a][b].equals("-1")){
isNowClear = false;
break earth;
}
}
}
if(isNowClear) {
answer = now;
break universe;
}
}
}
}
return answer;
}
}
for๋ฌธ์ด 5๊ฐ๊ฐ ๋ค์ด๊ฐ๋ค. break๋ ๊ฐ๋
์ฑ์ ๋์ด๋ ค๊ณ Label
์ ํ์ฉํ๋ค. ์์ earth
๋ universe
์ฒ๋ผ for๋ while๋ฌธ์ ์ด๋ฆ์ ๋ช
๋ช
ํด๋๊ณ , break earth
๋ break universe
๋ฅผ ํ๋ฉด, ํด๋น ๋ฐ๋ณต๋ฌธ๊น์ง ํ ๋ฒ์ ํ์ถํ๋ค.
4. ๋ฐฐ์ด ๊ฒ๋ค ๐ฏ
์ฒ์์ ๋ฌธ์ ๋ฅผ 1์ฐจ์ ๋ฐฐ์ด์ ์ฌ๋ฐฑ์ด ์ฐ์๋ ๊ฒฝ์ฐ ๋์ ํด์ ํ๋ ค๊ณ ํ๋ค... ์ด๋ ๊ฒ ํ๋ฉด, ์ํ์ข์ฐ ์ฌ๋ฐฑ์ด ์ฐ์๋๋์ง ๊ณ์ ์ฒดํฌํด๋๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ์ ์์ธ์ฒ๋ฆฌ ํด์ค์ผํ ๊ฒ์ด ๋ง๊ณ , ๋ฌธ์ ๋ฅผ ์์ฃผ ์ด๋ ต๊ฒ ํธ๋ ๊ฒ์ด๋ค. ์์ ์ SWEA ๋ฌํฝ์ด ๋ฌธ์ ๋ฅผ ํ ๋๋ง ํด๋ ์ด๋ฌํ ๋ฌธ์ ๋ ๋๊ฒ ์ฌ์ ๋๋ฐ, ์ด๋ป๊ฒ ํ์ด์ผํ ์ง ๊ฐ์ด ์ ์กํ๋๊ฒ ์ฐธ ํ๋ค์๋ค. ๋ค์ ์ด์ฌํ ๋ฌธ์ ๋ฅผ ํ์ด์ผ๊ฒ ๋ค.