[Javascript : programmers] 정수를 나선형으로 배치하기 (Lv.0) 💥💥
[Javascript : programmers] 정수를 나선형으로 배치하기 (Lv.0) 💥💥 문제 이 문제는 풀지 못했고, 다른 사람의 풀이를 통해서 알고리즘을 학습하기로 한다. 다른 사람 풀이function solution(n) { let answer = new Array(n).fill().map(()=>new Array(n).fill(0)); const move = [[0, 1], [1, 0], [0, -1], [-1, 0]]; let x = 0, y = 0, dir = 0, num = 1; while(num = n || nextX = n || nextY 풀이 학습1) n * n 까지 넣을 n * n 의 이차원 배열과 이차원 배열의 인덱스에 따라 상하좌우로 움직일 move ..
2024. 8. 31.
[Javascript : programmers] 평행 (Lv.0)
[Javascript : programmers] 평행 (Lv.0) 문제 나의 정답 풀이function solution(dots) { let [d1, d2, d3, d4] = dots; return +(equaled(d1,d2,d3,d4) || equaled(d1,d3,d2,d4) || equaled(d1,d4,d2,d3));}function equaled(a,b,c,d){ let slope1 = (b[1] - a[1]) / (b[0] - a[0]); let slope2 = (d[1] - c[1]) / (d[0] - c[0]); return slope1 == slope2;} dots의 길이는 항상 4이기 때문에 equaled 함수로 비교할 경우의 수는 3가지라는 점이 핵심이다.d..
2024. 8. 31.
[Javascript : programmers] 안전지대 (Lv.0) 💥
[Javascript : programmers] 안전지대 (Lv.0) 💥 문제 나의 정답 풀이function solution(board) { let n = board.length; let danger = [[-1,0],[-1,1],[-1,-1],[0,1],[0,-1],[1,1],[1,0],[1,-1]]; for(let i=0; i { if(x+i>=0 && x+i=0 && y+jacc+=cur.filter(e=>e==0).length,0);} 위험한 지역은 상하좌우, 대각선 모두 +1/-1 을 해줘야 하기 때문에 위험지역을 나타내는 8 구역을 2차원 배열로 저장한다.n*n 의 board 배열을 이중 for문으로 돌면서 원소의 값이 1이라면, danger..
2024. 8. 31.