diff --git a/src/programmers/Lv_1/README.md b/src/programmers/Lv_1/README.md index 77b08d23..687f19b6 100644 --- a/src/programmers/Lv_1/README.md +++ b/src/programmers/Lv_1/README.md @@ -1,68 +1,68 @@ # Lv_1 -| | 문제명 | 푼 날짜 | 채점 | 재응시여부 | -| :-: | ------------------------------------------------- | :------: | :--: | :---------------------------------: | -| 1 | [직사각형 별찍기](./starRectangle.js) | 22.05.30 | O | X | -| 2 | [최대공약수와 최소공배수](./GcdLcm.js) | 22.05.30 | O | [23.10.11](./replay/GcdLcm.js) | -| 3 | [제일 작은 수 제거하기](./sliceMin.js) | 22.06.01 | O | X | -| 4 | [정수 내림차순으로 배치하기](./sortNumber.js) | 22.06.02 | O | X | -| 5 | [자릿수 더하기](./positionSum.js) | 22.06.03 | O | X | -| 6 | [평균구하기](./average.js) | 22.06.04 | O | X | -| 7 | [자연수 뒤집어 배열로 만들기](./reverseNumber.js) | 22.06.04 | O | X | -| 8 | [짝수와 홀수](./oddOrEven.js) | 22.06.04 | O | X | -| 9 | [x만큼 간격이 있는 n개의 숫자](./xLength.js) | 22.06.05 | O | X | -| 10 | [핸드폰 번호 가리기](./hideNumber.js) | 22.06.05 | O | X | -| 11 | [정수 제곱근 판별](./integerSqrt.js) | 22.06.06 | O | [23.10.11](./replay/integerSqrt.js) | -| 12 | [수박수박수박수박수박수](./watermelon.js) | 22.06.06 | O | X | -| 13 | [내적](./dotProduct.js) | 22.06.07 | O | X | -| 14 | [없는 숫자 더하기](./accNoNumbers.js) | 22.06.07 | △ | [23.10.11](./replay/addNoNumber.js) | -| 15 | [크레인 인형뽑기 게임](./pickdolls.js) | 22.06.08 | △ | [23.10.11](./replay/pickdolls.js) | -| 16 | [음양 더하기](./accPlusMinus.js) | 22.06.08 | O | X | -| 17 | [가운데 글자 가져오기](./bringMid.js) | 22.06.08 | O | X | -| 18 | [k번째 수](./kNumber.js) | 22.06.09 | O | X | -| 19 | [카카오 실패율](./failRatio.js) | 22.06.10 | O | [23.10.11](./replay/failRatio.js) | -| 20 | [2016](./2016.js) | 22.06.11 | O | X | -| 21 | [두 정수 사이의 합](./betweenAandB.js) | 22.06.12 | O | X | -| 22 | [문자열 내림차순으로 배치하기](./sortString.js) | 22.06.12 | O | X | -| 23 | [문자열을 정수로 바꾸기](./stringToNumber.js) | 22.06.14 | O | X | -| 24 | [문자열 다루기 기본](./basicString.js) | 22.06.15 | O | [23.10.12](./replay/basicString.js) | -| 25 | [부족한 금액 계산하기](./shortMoney.js) | 22.06.16 | O | X | -| 26 | [서울에서 김서방 찾기](./findKim.js) | 22.06.17 | O | X | -| 27 | [문자열 내 p와 y의 개수](./pyInTheString.js) | 22.06.17 | O | X | -| 28 | [카카오\_신고 결과 받기](./reportingMail.js) | 22.06.17 | O | O | -| 29 | [로또의 최고 순위와 최저 순위](./lottoMinMax.js) | 22.06.18 | O | X | -| 30 | [소수찾기](./findPrimeNumber.js) | 22.06.18 | X | O | -| 31 | [모의고사](./mockTest.js) | 22.06.19 | O | O | -| 32 | [나머지가 1이 되는 숫자 찾기](./findRestValue.js) | 22.06.19 | O | X | -| 33 | [행렬의 덧셈](./addMatrix.js) | 22.06.19 | O | X | -| 34 | [신규 아이디 추천](./recommandNewId.js) | 22.06.20 | X | O | -| 35 | [약수의 개수와 덧셈](./betweenNumbers.js) | 22.06.20 | O | X | -| 36 | [숫자 문자열과 영단어](./numberAndWord.js) | 22.06.21 | O | X | -| 37 | [예산](./budget.js) | 22.06.21 | O | X | -| 38 | [체육복](./trainingClothes.js) | 22.06.22 | X | X | -| 39 | [이상한 문자 만들기](./strangeString.js) | 22.06.22 | X | X | -| 40 | [약수의 합](./sumDivisor.js) | 22.06.22 | O | X | -| 41 | [같은 숫자는 싫어](./hateSameNumber.js) | 22.06.23 | O | O | -| 42 | [나누어 떨어지는 숫자 배열](./fitNumberArray.js) | 22.06.24 | O | X | -| 43 | [키패드 누르기](./pushKeypad.js) | 22.06.24 | X | 다시풀었다 | -| 44 | [소수 만들기](./makePrimeNumber.js) | 22.06.25 | X | 다시 풀었다 | -| 45 | [시저 암호](./caesarPassword.js) | 22.06.25 | X | 다시 풀었다 | -| 46 | [완주하지 못한 선수](./notCompletion.js) | 22.06.26 | O | X | -| 47 | [두 개 뽑아서 더하기](./popTwoSum.js) | 22.06.26 | O | 배열의 중복 제거방법 다시보기! | -| 48 | [비밀 지도](./secretMap.js) | 22.06.27 | X | 다시풀었음 | -| 49 | [문자열 내 마음대로 정하기](./asonelikes.js) | 22.06.28 | X | 다시 풀었음 | -| 50 | [하샤드 수](./hashadNumber.js) | 22.06.29 | O | X | -| 51 | [콜라츠 추측](./collatz.js) | 22.06.29 | O | X | -| 52 | [3진법 뒤집기](./reverse3.js) | 22.06.30 | O | X | -| 53 | [폰켓몬](./phonekemon.js) | 22.06.30 | O | X | -| 54 | [최소직사각형](./minimumRect.js) | 22.06.30 | O | O | -| 55 | [1차 다트게임](./dartGame.js) | 22.07.01 | X | 정규표현식....... | -| 56 | [카카오 성격 유형 검사하기](./mbti.js) | 22.08.21 | O | | -| 57 | [삼총사](./threePeople.js) | 22.12.08 | △ | [22.12.09](./replay/threePeople.js) | -| 58 | [콜라 문제](./coke.js) | 22.12.08 | △ | [22.12.09](./replay/coke.js) | -| 59 | [푸드 파이트 문제](./food.js) | 22.12.11 | △ | [22.12.12](./replay/food.js) | +| | 문제명 | 푼 날짜 | 채점 | 재응시여부 | +| :-: | ------------------------------------------------- | :------: | :--: | :----------------------------------: | +| 1 | [직사각형 별찍기](./starRectangle.js) | 22.05.30 | O | X | +| 2 | [최대공약수와 최소공배수](./GcdLcm.js) | 22.05.30 | O | [23.10.11](./replay/GcdLcm.js) | +| 3 | [제일 작은 수 제거하기](./sliceMin.js) | 22.06.01 | O | X | +| 4 | [정수 내림차순으로 배치하기](./sortNumber.js) | 22.06.02 | O | X | +| 5 | [자릿수 더하기](./positionSum.js) | 22.06.03 | O | X | +| 6 | [평균구하기](./average.js) | 22.06.04 | O | X | +| 7 | [자연수 뒤집어 배열로 만들기](./reverseNumber.js) | 22.06.04 | O | X | +| 8 | [짝수와 홀수](./oddOrEven.js) | 22.06.04 | O | X | +| 9 | [x만큼 간격이 있는 n개의 숫자](./xLength.js) | 22.06.05 | O | X | +| 10 | [핸드폰 번호 가리기](./hideNumber.js) | 22.06.05 | O | X | +| 11 | [정수 제곱근 판별](./integerSqrt.js) | 22.06.06 | O | [23.10.11](./replay/integerSqrt.js) | +| 12 | [수박수박수박수박수박수](./watermelon.js) | 22.06.06 | O | X | +| 13 | [내적](./dotProduct.js) | 22.06.07 | O | X | +| 14 | [없는 숫자 더하기](./accNoNumbers.js) | 22.06.07 | △ | [23.10.11](./replay/addNoNumber.js) | +| 15 | [크레인 인형뽑기 게임](./pickdolls.js) | 22.06.08 | △ | [23.10.11](./replay/pickdolls.js) | +| 16 | [음양 더하기](./accPlusMinus.js) | 22.06.08 | O | X | +| 17 | [가운데 글자 가져오기](./bringMid.js) | 22.06.08 | O | X | +| 18 | [k번째 수](./kNumber.js) | 22.06.09 | O | X | +| 19 | [카카오 실패율](./failRatio.js) | 22.06.10 | O | [23.10.11](./replay/failRatio.js) | +| 20 | [2016](./2016.js) | 22.06.11 | O | X | +| 21 | [두 정수 사이의 합](./betweenAandB.js) | 22.06.12 | O | X | +| 22 | [문자열 내림차순으로 배치하기](./sortString.js) | 22.06.12 | O | X | +| 23 | [문자열을 정수로 바꾸기](./stringToNumber.js) | 22.06.14 | O | X | +| 24 | [문자열 다루기 기본](./basicString.js) | 22.06.15 | O | [23.10.12](./replay/basicString.js) | +| 25 | [부족한 금액 계산하기](./shortMoney.js) | 22.06.16 | O | X | +| 26 | [서울에서 김서방 찾기](./findKim.js) | 22.06.17 | O | X | +| 27 | [문자열 내 p와 y의 개수](./pyInTheString.js) | 22.06.17 | O | X | +| 28 | [카카오\_신고 결과 받기](./reportingMail.js) | 22.06.17 | O | O | +| 29 | [로또의 최고 순위와 최저 순위](./lottoMinMax.js) | 22.06.18 | O | X | +| 30 | [소수찾기](./findPrimeNumber.js) | 22.06.18 | X | [23.10.12](./replay/findPrimeNum.js) | +| 31 | [모의고사](./mockTest.js) | 22.06.19 | O | O | +| 32 | [나머지가 1이 되는 숫자 찾기](./findRestValue.js) | 22.06.19 | O | X | +| 33 | [행렬의 덧셈](./addMatrix.js) | 22.06.19 | O | X | +| 34 | [신규 아이디 추천](./recommandNewId.js) | 22.06.20 | X | O | +| 35 | [약수의 개수와 덧셈](./betweenNumbers.js) | 22.06.20 | O | X | +| 36 | [숫자 문자열과 영단어](./numberAndWord.js) | 22.06.21 | O | X | +| 37 | [예산](./budget.js) | 22.06.21 | O | X | +| 38 | [체육복](./trainingClothes.js) | 22.06.22 | X | X | +| 39 | [이상한 문자 만들기](./strangeString.js) | 22.06.22 | X | X | +| 40 | [약수의 합](./sumDivisor.js) | 22.06.22 | O | X | +| 41 | [같은 숫자는 싫어](./hateSameNumber.js) | 22.06.23 | O | O | +| 42 | [나누어 떨어지는 숫자 배열](./fitNumberArray.js) | 22.06.24 | O | X | +| 43 | [키패드 누르기](./pushKeypad.js) | 22.06.24 | X | 다시풀었다 | +| 44 | [소수 만들기](./makePrimeNumber.js) | 22.06.25 | X | 다시 풀었다 | +| 45 | [시저 암호](./caesarPassword.js) | 22.06.25 | X | 다시 풀었다 | +| 46 | [완주하지 못한 선수](./notCompletion.js) | 22.06.26 | O | X | +| 47 | [두 개 뽑아서 더하기](./popTwoSum.js) | 22.06.26 | O | 배열의 중복 제거방법 다시보기! | +| 48 | [비밀 지도](./secretMap.js) | 22.06.27 | X | 다시풀었음 | +| 49 | [문자열 내 마음대로 정하기](./asonelikes.js) | 22.06.28 | X | 다시 풀었음 | +| 50 | [하샤드 수](./hashadNumber.js) | 22.06.29 | O | X | +| 51 | [콜라츠 추측](./collatz.js) | 22.06.29 | O | X | +| 52 | [3진법 뒤집기](./reverse3.js) | 22.06.30 | O | X | +| 53 | [폰켓몬](./phonekemon.js) | 22.06.30 | O | X | +| 54 | [최소직사각형](./minimumRect.js) | 22.06.30 | O | O | +| 55 | [1차 다트게임](./dartGame.js) | 22.07.01 | X | 정규표현식....... | +| 56 | [카카오 성격 유형 검사하기](./mbti.js) | 22.08.21 | O | | +| 57 | [삼총사](./threePeople.js) | 22.12.08 | △ | [22.12.09](./replay/threePeople.js) | +| 58 | [콜라 문제](./coke.js) | 22.12.08 | △ | [22.12.09](./replay/coke.js) | +| 59 | [푸드 파이트 문제](./food.js) | 22.12.11 | △ | [22.12.12](./replay/food.js) | | 60 | [가장 가까운 같은 글자](./mostNear.js) | 22.12.12 | O | -| 61 | [과일 장수](./fruit.js) | 22.12.12 | △ | [22.12.13](./replay/fruit.js) | +| 61 | [과일 장수](./fruit.js) | 22.12.12 | △ | [22.12.13](./replay/fruit.js) | | 62 | [숫자 짝꿍](./pairOfNum.js) | 22.12.14 | △ | | 63 | [명예의 전당](./contest.js) | 22.12.22 | △ | | 64 | [기사단원의 무기](./weapons.js) | 22.12.22 | △ | diff --git a/src/programmers/Lv_1/replay/findPrimeNum.js b/src/programmers/Lv_1/replay/findPrimeNum.js new file mode 100644 index 00000000..08bfe928 --- /dev/null +++ b/src/programmers/Lv_1/replay/findPrimeNum.js @@ -0,0 +1,13 @@ +function solution(n) { + let arr = Array.from({ length: n + 1 }, () => true); + + for (let i = 2; i < n + 1; i++) { + //소수인지 아닌지 검사 + if (arr[i] === false) continue; // 소수가 아니라면 건너뛴다. + + for (let k = i * 2; k <= n; k += i) { + arr[k] = false; // 소수에 *2씩 늘려가는 것은 소수가 아니므로 false로 빠르게 없앤다. + } + } + return arr.filter((value) => value).length - 2; // 0, 1제외 +}