Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 옵셔널체이닝
- 프로그래머스 문자열 압축
- js
- suspense 비동기
- 백준 2108 자바스크립트
- 백준 1339번 자바스크립트
- 자바스크립트 스코프
- 프로그래머스 거리두기 확인하기
- suspense 병목현상
- 백준 1339번 nodejs
- 사용성 개선
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- next13 emotion
- js 거리두기 확인하기
- 구름톤
- emotion RSC
- 구름톤 챌린지 회고
- 카카오 코테
- suspense 동작원리
- 리액트쿼리 suspense
- js 스코프
- suspense react-query
- emtion app router
- 백준 1339번 js
- 스코프
- 백준 2108 nodejs
- 구름톤 챌린지
- js 문자열 압축
- app router emotion
- 자바스크립트 문자열 압축
Archives
- Today
- Total
Lennon FE
[프로그래머스] 거리두기 확인하기 (js) 본문
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/81302?language=javascript
function solution(places) {
const leng = places[0].length;
return places.map(v => {
let check = 1;
Loop2 :
for(let j = 0; j < leng; j++){
if(v[j].includes('PP') || v[j].includes('POP')) {
check = 0;
break;
}
for(let k = 0; k < leng; k++){
if(j < leng-2 && v[j][k]==='P' &&
v[j+1][k]==="O" && v[j+2][k]==="P") {
check = 0;
break Loop2;
} // 세로 POP
else if(j < leng-1 && v[j][k]==='P' && v[j+1][k]==="P") {
check = 0;
break Loop2;
} // 세로 PP
else if(j < leng-1 && k < leng -1 && (v[j][k]==='P' && v[j+1][k+1]==='P') &&
(v[j+1][k]==='O' || v[j][k+1]==='O')) {
check = 0;
break Loop2;
} // 대각선 PO PX PO
// OP OP XP
else if(j < leng-1 && k < leng -1 && (v[j][k+1]==='P' && v[j+1][k]==='P') &&
(v[j][k]==='O' || v[j+1][k+1]==='O')) {
check = 0;
break Loop2;
} // 반대 대각선 OP XP OP
// PO PO PX
}
}
return check;
})
}
결과값이 배열형태라 map으로 바로 리턴하였다.
거리두기가 안되는 상황의 경우의 수를 모두 찾아 인덱스를 조심하며 검증한다.
만약 거리두기가 안되는 경우이면 check에 0을 대입하고, 효율성을 위해 바로 모든 반복문을 빠져 나간다
(break Loop2;)
그 후 바로 리턴하면 결과값을 찾을 수 있다.
이런 문제는 index를 조심하며 검증해야한다.
만약 Cannot read property '0' of undefined 해당 오류가 뜨면 index쪽에 오류가 생긴거니까 잘 파악하자.
ex) index를 넘어서거나 index가 음수
728x90
반응형
'🔥 Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 수식 최대화 (js) (0) | 2021.10.31 |
---|---|
[프로그래머스] 1차 프렌즈4블록 (js) (0) | 2021.10.31 |
[프로그래머스] 메뉴 리뉴얼 (js) (0) | 2021.10.30 |
[프로그래머스] 위클리 챌린지 10주차 교점에 별 만들기 (js) (0) | 2021.10.30 |
[프로그래머스] 3차 압축 (js) (0) | 2021.10.29 |
Comments