본문 바로가기
알고리즘['파이썬','JavaScript']/구름

구름톤 챌린지 1주 day5 학습 일기

by kk님 2023. 8. 19.

이진수 정렬 문제

 

파이썬 풀이

1. bin()으로 문자열 이진수를 만들어준 뒤

2. 배열에 ['이진수'.count(1), 십진수] 순서로 삽입

3. 내림차순 정렬 sort(key = lambda x:(-x[0],-x[1]))

 

bin을 사용한 건 while 등으로 반복문을 사용하는 것보다 빠를 것이라는 생각에서였다.

 

그런데, 자바스크립트는 어떻게 풀지 싶어서

이진수 부분을 검색해보니 Number의 toString(2)를 사용한다고 한다.

참으로 편리하게, (파이썬처럼) 슬라이스를 할 필요 없이 바로 이진수 문자열이 반환된다.

 

그리고 문자열을 배열로 만들어주는 과정이 필요하다. .split('')

그리고 1을 세는 방법은 filter 메서드를 사용하는 것이고, filter(num => num === '1')

 

두개 이상의 조건이 필요한 정렬은 콜백함수 안에 분기를 해주면 된다. 비교하는 값이 같을때는 다른 조건 기준으로 정렬을 하면 된다.

 

주말에도 문제가 출제되는 줄 알았는데. . . 아니었다 . . . ㅠ,ㅠ

매일 꾸준히 풀이하는게 재밌어서 열심히 참여 중