(1).백준 14472번 休憩スペース (Refreshment Area)는 특정 범위와 블럭 사이즈를 제공할 때
가로 세로 어떤 칸이든 넣을 수 있는 경우의 수를 구해야 하는 문제로
모든 칸에 넣어보며 비교하는 방식으로 풀 수 있었는데
가로의 경우에는 slice로 잘라서 직접 비교한 다음 처리했고
세로의 경우에는 정상 순회 및 순회 중 세로로 블럭 사이즈만큼 내려가며 3중 for문으로 문자열을 합쳐주고
합친 문자가 블럭과 동일한 경우 통과 처리하는 방식으로 count 변수값을 증가시켜서 해결했다.
const input = `4 7 5
.#.....
.....##
.......
#......`.split('\n')
const [x, y, n] = input[0].split(' ').map(Number)
const str = '.'.repeat(n)
let count = 0
for(let i = 1 ; i <= x ; i++){
for(let j = 0 ; j <= y - n ; j++){
if(input[i].slice(j, j+n) == str){
count++
}
}
}
for(let i = 1 ; i <= x - n + 1 ; i++){
for(let j = 0 ; j < y ; j++){
let strs = ''
for(let k = i ; k < i+n ; k++){
strs += input[k][j]
}
if(strs == str){
count++
}
}
}
console.log(count)'회고' 카테고리의 다른 글
| [개발일지] - 932(주말) (0) | 2026.02.02 |
|---|---|
| [개발일지] - 931(주말출근) (0) | 2026.02.01 |
| [개발일지] - 930 (0) | 2026.01.31 |
| [개발일지] - 929 (0) | 2026.01.30 |
| [개발일지] - 928 (0) | 2026.01.29 |
