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 |
Tags
- 코딩테스트합격자되기
- redux
- programmers
- react
- 이코테
- 리액트
- 테코테코
- useDispatch
- 자바
- maeil-mail
- C++
- Algorithm
- axios
- 항해플러스
- 매일메일
- redux-toolkit
- react-router
- Python
- 알고리즘
- java
- react-redux
- sw expert academy
- JavaScript
- 항해99
- createSlice
- SW
- Get
- redux-saga
- json-server
- 프로그래머스
Archives
- Today
- Total
Binary Journey
[프로그래머스] 오픈채팅방 본문
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Javascript
function solution(record) {
let answer = [];
const users = {};
const records = record.map((r) => r.split(" "));
for (const [order, id, nickName] of records) {
if (nickName) users[id] = nickName;
}
for (const [order, id, nickName] of records) {
if (order.startsWith("E")) answer.push(`${users[id]}님이 들어왔습니다.`);
if (order.startsWith("L")) answer.push(`${users[id]}님이 나갔습니다.`)
}
return answer;
}
users 에 들어가있는 최종 nickname 으로 result 를 바꿔야 하기 때문에 for문을 두 번 돌릴 수밖에 없었다.
answer 배열에 `${id}님이 ...했습니다.` 를 넣고 map, replace를 할까 했지만 시간초과로 계속 오답이 됐다.
결국 첫 for문에 users object에 먼저 id 와 nickname을 넣고 두 번째 for문에서 해당 id의 value를 찾아 answer push하는 걸로 마무리했다.
반응형
'프로그래머스 > level 2' 카테고리의 다른 글
[프로그래머스] H-Index (0) | 2021.08.11 |
---|---|
[프로그래머스] 최댓값과 최솟값 (0) | 2021.08.10 |
[프로그래머스] 최솟값 만들기 (0) | 2021.08.10 |
[프로그래머스] N개의 최소공배수 (0) | 2021.08.10 |
[프로그래머스] 프로그래머스 124 나라의 숫자 (0) | 2021.04.22 |