일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- html
- github pdf
- electron-packager
- Git
- adb pair
- react-native
- vercel git lfs
- Failed to compiled
- ELECTRON
- animation
- rolldown
- react-native-dotenv
- camera permission
- 이미지 데이터 타입
- 티스토리 성능
- silent printing
- ffi-napi
- adb connect
- github lfs
- nextjs
- camera access
- Recoil
- custom printing
- pnpm
- dvh
- github 100mb
- Can't resolve
- Each child in a list should have a unique "key" prop.
- augmentedDevice
- device in use
- Today
- Total
목록코딩테스트 공부 (78)
Bleeding edge
응용된 사칙연산 문제 (예시, + * - /의 우선순위를 바꾼문제)에서는 사용할 수 없지만, 일반적인 텍스트 사칙연산 string에 사용하면 편한 기능이다. 이전에 검색해봤던 기능인데, 막상 문제에서 만나서 사용해보니 편해서 메모로 남긴다. str = '1+2+3/4' cal = eval(str) 과같이 사용할 수 있다. MDN에 주의: 문자열로부터 eval()을 실행하는 것은 엄청나게 위험합니다. eval()을 사용하면 해커가 위험한 코드를 사용할 수 있습니다. 아래에 eval을 절대 사용하지 말 것!을 확인하세요. 와같은 주의 사항이 있으니, 코딩테스트에서만 기억할 것!
최대공약수 Greatest Common Divder 최소공배수 Least Common Multiple 소수, 순열 조합 그리고 많이 나오는게 최대공약수 이친구인거같다.. 수학으로 풀때는 참 쉬웠는데 자바스크립트로 시간을 재고 빨리 해야지!하면 허둥지둥하니 자주 체크하는 함수로 만들어야겠다. function solution(num1, num2) { const gcd = (a, b) => a % b === 0 ? b : gcd(b, a % b); const lcm = (a, b) => a * b / gcd(a, b); return [gcd(num1, num2), lcm(num1, num2)]; }
https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr function solution(s){ let arr = [] for(i=0;i
코딩테스트를 하다가.. n번째 문자열끼리의 순서대로 정렬을 하라! 라는 문제를 보고 array.sort((a,b) => a[n] - b[n]) 과 같이 작성했었는데.. 역시 X 그래서 이걸 어떻게 풀까하고 검색을 해봤었는데, charCodeAt 일명 at 뒤에 올 것에 대한 글자코드~ 사용법 string.charCodeAt(index)를 입력하면 string에 있는 index의 char code가 나온다 다단! array.sort((a,b) => a.charCodeAt(n) - b.charCodeAt(n)) 나중에 기억 안날때쯤 다시 풀어봐야겠다.
둘의 function을 간단하게 적을 것이다. 둘의 결과값에 대한 차이는, 순서의 유무로 갈린다. 순열은, per- mutate 즉, 아주 작은 부분만 변하기만해도 순열이라 친다 즉, 구성원이 같아도 순서가 살짝다르면 다른것으로 친다. 조합은 말그대로 구성원의 조합이 중요한거지, 순서와는 전혀 무관한 친구다. function의 플로우 차트를 이야기하자. 1. 순열과 조합을 만들 때 필요한 것은 무엇인가? a. 숫자 모음(array), b. 몇 개를 뽑을 것인가 (num) 2. Boundary condition은? a. num이 1개일 때는, 본인은 본인이다 3. 그 다음으로 배치 해야할 것들? a. array를 forEach로 각 요소마다 recursive하게, 순열과 조합 행렬을 다시 실행시킨다. 단,..
본인의 이전의 수를 일일이 나눠서하는 방법을 사용하면 오래 걸리니, 에라토스테네스의 체를 활용한. (여러번봐도 이름이 어려우니 그냥 소수의 체라고 기억을 하고있...습니다) 방법을 서술하겠습니다. 1. 우선, 소수의 Boundary condition에 해당하는 1에 대한 값 (0부터는 자연수가 아니라 흠흠..) 2. 그리고 2의 배수에 관한 값 3. 나머지는 3부터 주어진 숫자의 루트값이 전에 대한 값들. const isPrime = num => { //Boundary Condition(1) if (num===1) return false; if (num%2===0) return num===2? true : false; let sqrt = parseInt(Math.sqrt(num)); for(i=3;i