Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐํํ๋ฉด ์ ๋ฆฌ ๋ณธ๋ฌธ
๐ ๋ฌธ์
์ฝ๋ฉํ ์คํธ๋ฅผ ์ค๋นํ๋ ๋จธ์ฑ์ด๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ๋ฌธ์ ๋ฅผ ํ๊ณ ๋์ค์ ๋ค์ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ๊ณต๋ถํ๋ ค๊ณ ์์ฑํ ์ฝ๋๋ฅผ ์ปดํจํฐ ๋ฐํํ๋ฉด์ ์๋ฌด ์์น์๋ ์ ์ฅํด ๋ก๋๋ค. ์ ์ฅํ ์ฝ๋๊ฐ ๋ง์์ง๋ฉด์ ๋จธ์ฑ์ด๋ ๋ณธ์ธ์ ์ปดํจํฐ ๋ฐํํ๋ฉด์ด ๋๋ฌด ์ง์ ๋ถํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ํ๋ก๊ทธ๋๋จธ์ค์์ ์์ฑํ๋ ์ฝ๋๋ ๊ทธ ๋ฌธ์ ์ ๊ฐ์ ๋ค์ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ฅํด ๋ ํ์ผ๋ค์ ์ ๋ถ ์ญ์ ํ๊ธฐ๋ก ํ์ต๋๋ค.
์ปดํจํฐ ๋ฐํํ๋ฉด์ ๊ฐ ์นธ์ด ์ ์ฌ๊ฐํ์ธ ๊ฒฉ์ํ์ ๋๋ค. ์ด๋ ์ปดํจํฐ ๋ฐํํ๋ฉด์ ์ํ๋ฅผ ๋ํ๋ธ ๋ฌธ์์ด ๋ฐฐ์ด wallpaper๊ฐ ์ฃผ์ด์ง๋๋ค. ํ์ผ๋ค์ ๋ฐํํ๋ฉด์ ๊ฒฉ์์นธ์ ์์นํ๊ณ ๋ฐํํ๋ฉด์ ๊ฒฉ์์ ๋ค์ ๋ฐํํ๋ฉด์ ๊ฐ์ฅ ์ผ์ชฝ ์๋ฅผ (0, 0)์ผ๋ก ์์ํด (์ธ๋ก ์ขํ, ๊ฐ๋ก ์ขํ)๋ก ํํํฉ๋๋ค. ๋น์นธ์ ".", ํ์ผ์ด ์๋ ์นธ์ "#"์ ๊ฐ์ ๊ฐ์ง๋๋ค. ๋๋๊ทธ๋ฅผ ํ๋ฉด ํ์ผ๋ค์ ์ ํํ ์ ์๊ณ , ์ ํ๋ ํ์ผ๋ค์ ์ญ์ ํ ์ ์์ต๋๋ค. ๋จธ์ฑ์ด๋ ์ต์ํ์ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๋ ํ ๋ฒ์ ๋๋๊ทธ๋ก ๋ชจ๋ ํ์ผ์ ์ ํํด์ ํ ๋ฒ์ ์ง์ฐ๋ ค๊ณ ํ๋ฉฐ ๋๋๊ทธ๋ก ํ์ผ๋ค์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋๋๊ทธ๋ ๋ฐํํ๋ฉด์ ๊ฒฉ์์ S(lux, luy)๋ฅผ ๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ ์ํ๋ก ๊ฒฉ์์ E(rdx, rdy)๋ก ์ด๋ํ ๋ค ๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํผ์ ๋ผ๋ ํ๋์ ๋๋ค. ์ด๋, "์ S์์ ์ E๋ก ๋๋๊ทธํ๋ค"๊ณ ํํํ๊ณ ์ S์ ์ E๋ฅผ ๊ฐ๊ฐ ๋๋๊ทธ์ ์์์ , ๋์ ์ด๋ผ๊ณ ํํํฉ๋๋ค.
- ์ S(lux, luy)์์ ์ E(rdx, rdy)๋ก ๋๋๊ทธ๋ฅผ ํ ๋, "๋๋๊ทธ ํ ๊ฑฐ๋ฆฌ"๋ |rdx - lux| + |rdy - luy|๋ก ์ ์ํฉ๋๋ค.
- ์ S์์ ์ E๋ก ๋๋๊ทธ๋ฅผ ํ๋ฉด ๋ฐํํ๋ฉด์์ ๋ ๊ฒฉ์์ ์ ๊ฐ๊ฐ ์ผ์ชฝ ์, ์ค๋ฅธ์ชฝ ์๋๋ก ํ๋ ์ง์ฌ๊ฐํ ๋ด๋ถ์ ์๋ ๋ชจ๋ ํ์ผ์ด ์ ํ๋ฉ๋๋ค.
๐ก ์์ด๋์ด
ํ์ผ์ ์ผ์ชฝ ๋, ์์ชฝ ๋, ์ค๋ฅธ์ชฝ ๋, ์๋ ๋ ์ขํ๋ฅผ ๊ตฌํ๋ฉด ๋๋ ๋ฌธ์ ๋ค.
์ด๋, ์ค๋ฅธ์ชฝ ๋๊ณผ ์๋ ๋์ ๊ทธ ํ์ผ์ ํฌํจํด์ผ ํ๋ฏ๋ก +1์ฉ ํด์ค์ผ ํ๋ค.
โ๏ธ ํ์ด
function solution(wallpaper) {
let min = [52, 52];
let max = [0, 0];
for(let i=0; i<wallpaper[0].length; i++){
// ๋๋ฉด์ ๊ฐ ์ขํ ์ต๋, ์ต์ ๊ตฌํ๊ธฐ
for(let j=0; j<wallpaper.length; j++){
if(wallpaper[j][i] === '#'){
if(j < min[0]) min[0] = j;
if(i < min[1]) min[1] = i;
if(j > max[0]) max[0] = j;
if(i > max[1]) max[1] = i;
}
}
}
max[0] = max[0] + 1;
max[1] = max[1] + 1;
// ๋ง์ง๋ง ํ์ผ ํฌํจํด์ฃผ๊ธฐ
return [...min, ...max];
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์นด๋ ๋ญ์น (0) | 2023.04.04 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ถ์ต ์ ์ (0) | 2023.04.04 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ณต์ ์ฐ์ฑ (0) | 2023.04.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํ๊ฒ ๋๋ฒ (0) | 2023.03.09 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2023.03.03 |