오픈채팅방 (42888 / 프로그래머스 / JavaScript)

2021. 12. 21. 19:50·알고리즘 문제풀이
반응형

문제

풀이과정

최종적으로 방을 개설한 사람이 보기 위해, uid 에따른 닉네임이 저장되어 있어야하는 배열을 생성하였다.
record를 문자열별로 나눴는데,


//record[i][0] => 입장, 퇴장, 변경
//record[i][1] => 유저ID
//record[i][2] => 닉네임


다음과 같이 정리된다.

answer 결과 배열부분에 uid 와 enter leave에 따른 메세지를 같이 저장하였다.

마지막에 answer에 있는 uid를 닉네임이 저장되어있는 곳과 매칭시켜 결과를 도출하였다.

풀이코드

function solution(record) {
    let users = []; // 유저의 닉네임이 저장되어있는곳
    record = record.map((e) => e.split(' ')); // 문자열을 나눔
    let answer = []; // 결과가 담길곳 

    //record[i][0] => 입장, 퇴장, 변경
    //record[i][1] => 유저ID
    //record[i][2] => 닉네임

    for (let i = 0; i < record.length; i++) {
        if(record[i][0] !== 'Leave'){
            users[record[i][1]] = record[i][2]
            if(record[i][0] == 'Enter'){
                answer.push([record[i][1],"님이 들어왔습니다."])
            }
        }else{
            answer.push([record[i][1],"님이 나갔습니다."])
        }
    }

    answer = answer.map(([a,b])=> {
        return ""+users[a]+b;
    })

    return answer;
}

후기

split 하는 부분과 for 문 부분을 하나로 합칠 수 있었는데 확인 못한점이 아쉽고
Map으로도 풀 수 있다는 점과 Object로도 풀수 있는데 다른 방법으로 생각 못한게 아쉽다.

반응형

'알고리즘 문제풀이' 카테고리의 다른 글

[SWEA][D1] 1933. 간단한 N 의 약수 JAVA  (0) 2025.05.27
[SWEA][D1] 2043. 서랍의 비밀번호 Java  (0) 2025.05.27
모음사전 ( 84512 /프로그래머스 / JavaScript)  (0) 2021.12.12
124나라의 숫자 ( 12899 / 프로그래머스 / JavaScript)  (1) 2021.12.03
거리두기 확인하기 (81302 / 프로그래머스 / JavaScript)  (0) 2021.12.02
'알고리즘 문제풀이' 카테고리의 다른 글
  • [SWEA][D1] 1933. 간단한 N 의 약수 JAVA
  • [SWEA][D1] 2043. 서랍의 비밀번호 Java
  • 모음사전 ( 84512 /프로그래머스 / JavaScript)
  • 124나라의 숫자 ( 12899 / 프로그래머스 / JavaScript)
WHITE_FROST
WHITE_FROST
개발공부리뷰블로그
    반응형
  • WHITE_FROST
    하얀하얀IT
    WHITE_FROST
  • 전체
    오늘
    어제
    • 분류 전체보기 (119)
      • Stack (43)
        • Next.js (7)
        • React (12)
        • React-Native (15)
        • TypeScript (0)
        • Python (2)
        • JavaScript (2)
        • Android (1)
        • DB (2)
        • JAVA (1)
      • Obsidian (1)
      • AI (3)
      • AI Tools (0)
      • Tools (0)
      • Mac (0)
      • Error (7)
      • 알고리즘 정리 (6)
      • 알고리즘 문제풀이 (46)
      • 공부일상 (4)
      • 개발 도구 & 라이브러리 (0)
      • 정보처리기사 (0)
      • 기타 (6)
      • Tip (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코테
    React Hooks
    백준
    error
    hooks
    ReactHook
    알고리즘
    react
    java
    D2
    SWEA
    d1
    코테준비
    코딩테스트
    프로그래머스
    mongoDB Atlas
    Python
    Expo
    react-native
    Next.js
    오블완
    티스토리챌린지
    React-Native cli
    리액트네이티브
    react-native-maps
    mongodb cloud
    boj
    ios
    javascript
    reactnative
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
WHITE_FROST
오픈채팅방 (42888 / 프로그래머스 / JavaScript)
상단으로

티스토리툴바