1. 문제에 대한 이해
- 우리가 풀어야 할 문제는 무엇인가?
- 성적이 낮은 순서대로 학생의 이름을 출력하라 - 주어진 자료는 무엇인가?
- N = 학생 수
- a = 학생의 이름과 성적 - 조건은 무엇인가?
- 1 <= N <= 100,000
- 학생의 성적은 100이하의 정수이다.
2. 계획
- 이 문제를 푸는데 있어서 유용하게 쓸 수 있는 지식은 무엇인가?
- object와 sort()
- 성적 낮은순서대로 정렬한다.
- 공백으로 구분해서 출력한다.
3. 실행
- 풀이 계획을 실행하고, 각 단계가 올바른지 점검하라.
const solution = (N, a) => {
// 성적 낮은순서대로 정렬한다.
const sortable = Object.fromEntries(
Object.entries(a).sort(([, a], [, b]) => a - b)
);
// 공백으로 구분해서 출력한다.
const name = Object.keys(sortable).join(' ');
return name;
};
test('sort', () => {
expect(solution(2, { '홍길동': 95, '이순신': 77 })).toEqual('이순신 홍길동');
});
'코테연습' 카테고리의 다른 글
100. 이것이 코딩 테스트다 5장 : 음료수 얼려 먹기 Javascript (0) | 2022.09.01 |
---|---|
99. 이것이 코딩 테스트다 6장 : 두 배열의 원소 교체 Javascript (0) | 2022.09.01 |
97. 이것이 코딩 테스트다 6장 : 위에서 아래로 Javascript (0) | 2022.09.01 |
96. 이것이 코딩 테스트다 4장 : 왕실의 나이트 Javascript (0) | 2022.08.30 |
94. 이것이 코딩 테스트다 4장 : 상하좌우 Javascript (0) | 2022.08.30 |
댓글