꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

프로그래머스 18

[프로그래머스] 삼각 달팽이

function solution(n) { let a = Array(n).fill().map((_, i) => Array(i + 1).fill()) let row = -1 let col = 0 let fill = 0 for (let i = n; i > 0; i -= 3) { a[++row][col] = ++fill for (let j = 0; j < i - 1; j++) a[++row][col] = ++fill for (let j = 0; j < i - 1; j++) a[row][++col] = ++fill for (let j = 0; j < i - 2; j++) a[--row][--col] = ++fill } return a.flat() } 직각 삼각형으로 이중 배열을 만들어 풉니다.

[프로그래머스] 오픈채팅방

function solution(record) { const answer = []; const users = {}; record.forEach(str => { const [state, userId, nickname] = str.split(' '); if (str[0] === 'E') { users[userId] = nickname; answer.push([userId, '님이 들어왔습니다.']); } else if (str[0] === 'L') { answer.push([userId, '님이 나갔습니다.']); } else { users[userId] = nickname; } }); return answer.map(([userId, stateStr]) => users[userId] + stateStr); }