일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- autosize
- TS
- 이분 검색
- 결정 알고리즘
- RTK Query
- 반공변성
- 무한 스크롤
- 인터섹션
- webpack
- recoil
- CORS
- CI/CD
- 태그된 유니온
- app router
- SSR
- ESlint
- 투포인터
- map
- tailwind
- Cypress
- Promise
- useAppDispatch
- 호이스팅
- 공변성
- Jest
- 리터럴 타입
- dfs
- React
- 타입 좁히기
- async/await
- Today
- Total
목록코딩테스트 with JS/자바스크립트 알고리즘 문제풀이(인프런) (36)
짧은코딩
해결법 문자를 for문으로 확인하면서 현재 문자와 현재 문자를 toUpperCase를 사용한 것과 비교해서 같으면 카운트를 올려주면 된다. 코드
해결법 t를 기준으로 split로 나눈다. 그러면 나눈 집합이 나오는데 그 개수에서 -1 한 것이 답이다. 만약 특정 문자열이 중복되어 있거나 마지막에 있더라도 집합에 '' 값이 들어가기 때문에 length를 구해서 -1을 하면 된다. 코드
해결법 이 문제에서는 for문도 사용 가능하다. 하지만 정규표현식으로 푼다면 더 효율적으로 풀 수 있다. replace(/A/, '#') 이렇게 한다면 전체 중에서 하나의 A만 바꿔준다. 따라서 replace(/A/g, '#') 이렇게 해야 전역적으로 A를 다 찾아서 바꿔준다. 코드
해결법 이 문제에서 난쟁이가 아닌 2명을 찾기 위해서는 일일히 다 찾아봐야 한다. 따라서 처음 배열의 모든 합을 구하고 다른 난쟁이를 찾기 위해서 이중 for문을 사용한다. 그리고 2개씩 고르면서 미리 구해놨던 합에서 for문에서 찾은 2개의 값을 빼서 100이되면 정답이다. 코드 splice를 사용하면 배열에서 값을 제거할 수 있다. 그리고 뒤에꺼부터 제거해야 인덱스 번호에 영향을 안준다.
Math.ceil() Math.ceil(.95); // 1 Math.ceil(4); // 4 Math.ceil(7.004); // 8 Math.ceil(-0.95); // -0 Math.ceil(-4); // -4 Math.ceil(-7.004); // -7 무조건 올림해준다. for문 -범위로 구하기 for (let i = 1; i