Lee Jaeyoon2
재유니버스
Lee Jaeyoon2
전체 방문자
오늘
어제
  • 분류 전체보기 (228)
    • TIL (165)
    • 생각 (11)
    • 서평 (1)
    • JavaScript & TypeScript (4)
    • React (0)
    • C (45)
    • 에러 핸들링 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JavaScript
  • 객체
  • 코드숨 리액트
  • 코드숨 리액트 8기
  • 5F
  • C
  • 코드숨
  • react
  • 플래그
  • c언어
  • 실수
  • map
  • 코딩 도장
  • 회고
  • TiL
  • dotenv
  • C언어 코딩 도장
  • 변수
  • dotenv-webpack
  • 심사 문제

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Lee Jaeyoon2

재유니버스

TIL

TIL - 20221014(JavaScript 객체에서 키를 기준으로 필터링)

2022. 10. 14. 15:09

주의! 본 게시물은 프로그래머스 '주차 요금 계산' 문제에 대한 중요 내용을 포함하고 있습니다. 풀기 전이시라면 이 점 참고해주시길 바랍니다!

 

링크: https://school.programmers.co.kr/learn/courses/30/lessons/92341

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제를 풀면서 차량 번호가 작은 자동차부터라는 문구가 있어서 객체에서 키 값을 기준으로 오름차순 정렬하는 방법이 필요했다. 객체에서 키 값을 기준으로 오름차순 정렬하는 방법은 다음과 같다.

const obj = { c: 3, b: 2, a: 1 };
const sortedObj = {};

Object.keys(obj).sort().forEach(function (key) {
  sortedObj[key] = obj[key]
});

console.log(sortedObj); // {a: 1, b: 2, c: 3}

하지만 이 방법의 치명적인 단점은 키의 값이 객체일 경우 정렬이 제대로 되지 않는다라는 점이다. 그래서 어떤 방법이 있을까 고민했는데

Object.keys(obj)
  .sort()
  .map((obj) => answer.push(obj[key].value));

다음과 같이 키값을 정렬한 다음, 작은 키값부터 시작하면 간단히 해결할 수 있었다. 마치 닭잡기 위해 소 잡는 칼을 쓴 기분인데, 문제를 풀면서 더 쉽게 푸는 방법은 없을까에 대한 고민도 함께 해야겠다.

'TIL' 카테고리의 다른 글

TIL - 20221013  (0) 2022.10.13
TIL - 20221012  (0) 2022.10.12
TIL - 20221011  (0) 2022.10.11
TIL - 20221010  (0) 2022.10.10
TIL - 20221009  (0) 2022.10.09
    'TIL' 카테고리의 다른 글
    • TIL - 20221013
    • TIL - 20221012
    • TIL - 20221011
    • TIL - 20221010
    Lee Jaeyoon2
    Lee Jaeyoon2

    티스토리툴바