230531 자바스크립트 알고리즘 문제 해결을 위한 방법
1. 앞의 대상이 null이나 undefined일 때 undefined 반환
obj?.value
2. 앞의 대상이 null이나 undefined일 때 오른쪽 연산자 사용
obj ?? '없습니다'
3. 나눗셈 몫과 나머지 구하기
Math.floor(num1/num2)
num1%num2
4. 문자열을 리스트로
str.split('')
5. 리스트를 문자열로
arr.join('')
6. 길이가 같은 두 배열의 공통 원소 개수
arr1.filter(x=> arr2.includes(x)).length
7. 배열 모든 원소의 합과 곱
arr1.reduce((a,c)=>a+c)
arr1.reduce((a,c)=>a*c)
8. 배열에서 최대값 찾기
array.reduce((a,c)=> a > c ? a : c)
9. 해당 문자열이 처음 또는 마지막에 등장하는 인덱스 찾기
str.indexOf('term')
str.lastIndexOf('term')
10. 배열에서 홀수, 짝수 개수 구하기
arr.reduce((a,c) ⇒ (c%2 ===0 ? a[0]++ : a[1]++, a),[0,0])
11. 배열 원소 서로 바꾸기
[arr[0],arr[1]] = [arr[1],arr[0]]
12. 아스키 코드를 문자로, 문자를 아스키코드로
String.fromCharCode(97) // 'a'
String.fromCharCode(65) // 'A'
'a'.charCodeAt() // 97
'A'.harCodeAt() // 65
13. 주어진 수가 2의 거듭제곤인지 판별
Math.log2(num1)%1===0
14. 2차원 배열에서 원소 바로 꺼내기
for(const [num1,num2] of arr){
}
15. 문자열을 특정개수(3개)씩 끊어서 배열로 만들기
.(마침표)는 모든 문자와 매칭
{}는 반복
g는 문자열 내 모든 패턴 검색
"abcabcabcab".match(new RegExp(".{1,3}", "g")) // ["abc", "abc", "abc", "ab"]
프로그래머스 문제를 풀기 시작하면서 자주 사용하거나 유용하다고 생각되는 해결 방법은 적어두었다가 그때그때 까먹지 않게 사용하려고 한다. 자바스크립트는 내장 메서드가 많아 활용도 중요한 것 같다.
'내일배움캠프' 카테고리의 다른 글
230602 타입스크립트 사용해보기 (0) | 2023.06.02 |
---|---|
230601 자바스크립트 <script>와 <script type='module'>의 차이 (0) | 2023.06.01 |
230530 Intersection Observer 간단한 무한 스크롤 (0) | 2023.05.30 |
230529 data 값으로 배경 이미지 설정하기 (0) | 2023.05.29 |
230528 내일배움캠프 2주차 WIL (0) | 2023.05.28 |