오늘은 문제 13번 ~ 21번까지의 문제를 풀었다.
아래는 오늘 푼 문제 포스팅 링크다.
- [13번][중급] 3진법 뒤집기
- [14번][중급] 최소 직사각형
- [15번][중급] 같은 숫자는 싫어
- [16번][중급] 두개 뽑아서 더하기
- [17번][중급] 로또의 최고 순위와 최저 순위
- [18번] [중급] 모의고사
- [19번] [중급] 문자열 내 마음대로 정렬하기
- [20번] [중급] 문자열 내림차순으로 배치하기
- [21번] [중급] 소수 만들기
오늘 배운 것들
- parseInt(val, radix), toStirng(radix)를 통해 숫자의 진법을 변환해보았다
- filter(). map(), forEach(), search() 함수 등을 이용해 for와 if 문을 통해 길게 짠 코드를 짧게 줄이는데 능숙해 지는 것 같다
- new Set()을 사용해 배열에서 중복 값을 제거하는 방법을 배웠다
- key-value쌍 오브젝트를 만들때, key 값에 숫자를 입력해도 자동으로 string으로 변환한다
- 모의고사 문제에서 최고 값을 찾는데 간편하게 사용할 수 있는 Math.max()함수를 잘 떠올리지 못했는데, 앞으로는 잘 할것 같다ㅋㅋ
- sort(compareFn) 메소드의 경우, compareFn을 입력하지 않으면 기본 UTF-16 code unit으로 평가하는데, 숫자를 비교하는 경우 의도치 않은 결과를 얻을 수 있으나, 알파벳의 경우, 순서대로 들어온다.
- 자세한 내용은 wikipedia 참고
- sort()에서 compareFn을 이용해 문자열의 내림차순 정렬도 구현해보았다.
- 소수 만들기 문제는 거의 3시간 넘게 걸려 푼 것 같다. 별의 별 짓을 다 해봤는데, 덕분에 재귀함수 연습을 해볼 수 있었다.(재귀함수로는 시간초과로 통과하지 못했다)
- 이 문제를 풀면서 느꼈던 점은, 과도하게 엄밀한 프로그래밍은 사족이라는 것이다. 실제 문제를 해결하면서 추후 코드 개선에 필요한 투입 시간을 최소화 할 수 있는 단계까지만 구현하는 것이 핵심인 것 같다.
'항해99_10기 > 105일의 TIL & WIL' 카테고리의 다른 글
[2주차] [20221123] 화살표 함수의 this binding (0) | 2022.11.24 |
---|---|
[2주차][20221122] 알고리즘 문제 풀이 (0) | 2022.11.23 |
[1주차 WIL] 2022.11.14 ~ 2022.11.20 회고 (0) | 2022.11.20 |
[20221120] JavaScript 호이스팅과 TDZ (변수은닉화 내용 추가 예정) (0) | 2022.11.20 |
[20221119] JavaScript 객체와 불변성 (0) | 2022.11.20 |