-
[릿코드/js] 605. can place flowers코딩테스트 2023. 9. 13. 21:17
var canPlaceFlowers = function(flowerbed, n) { let len = flowerbed.length; if (n === 0 || n === 1 && len === 1 && flowerbed[0] === 0) return true; if (flowerbed[0] === 0 && flowerbed[1] === 0) { n--; flowerbed[0] = 1; } for (let i = 1; i < len - 1; i++) { if (n === 0) return true; if (flowerbed[i] === 0 && flowerbed[i - 1] === 0 && flowerbed[i + 1] === 0) { flowerbed[i] = 1; n--; } } if (flowerbed[len - 1] === 0 && flowerbed[len - 2] === 0) { n--; flowerbed[len - 1] = 1; } if (n === 0) return true; return false; };
-> 내가 푼 풀이. 조건이 아주 많다.
var canPlaceFlowers = function(flowerbed, n) { let len = flowerbed.length; for (let i = 0; i < len && n !== 0; i++) { if (flowerbed[i] === 0 && flowerbed[i - 1] !== 1 && flowerbed[i + 1] !== 1) { n--; i++; } } return n === 0; };
-> 좀더 깔끔해진 타인의 풀이.
다른 점은 나의 경우 flowerbed[i] 를 1로 바꾸면서 한칸씩옆으로 이동했는데
그냥 두칸씩이동해버렸음.
또한 값을 flowerbed[i - 1] !==1로 두어 i - 1이 0보다 작은 경우에도 대비한듯함.
'코딩테스트' 카테고리의 다른 글
[릿코드/js] 151. reverse words in string (0) 2023.09.14 [릿코드/js] 다시풀기 345 (0) 2023.09.13 [릿코드/js] 다시풀기 137.candy (0) 2023.09.13 [못풀었다/릿코드]2328. Number of Increasing Paths in a Grid (0) 2023.06.18 [공부하고다시풀기../릿코드] 1187. Make Array Strictly Increasing (0) 2023.06.18