이진수 정렬 문제
파이썬 풀이
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')
두개 이상의 조건이 필요한 정렬은 콜백함수 안에 분기를 해주면 된다. 비교하는 값이 같을때는 다른 조건 기준으로 정렬을 하면 된다.
주말에도 문제가 출제되는 줄 알았는데. . . 아니었다 . . . ㅠ,ㅠ
매일 꾸준히 풀이하는게 재밌어서 열심히 참여 중
'알고리즘['파이썬','JavaScript'] > 구름' 카테고리의 다른 글
구름톤 챌린지 2주 day8 학습 일기 (0) | 2023.08.23 |
---|---|
구름톤 챌린지 2주 day7 학습 일기 (0) | 2023.08.22 |
구름톤 챌린지 2주 day6 학습 일기 (0) | 2023.08.21 |
구름톤 챌린지 1주 day4 학습 일기 (0) | 2023.08.17 |
구름톤 챌린지 1주 day1 학습 일기 (0) | 2023.08.14 |