Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- https://lo-victoria.com/introduction-to-redux-toolkit-for-beginners
- variable#function
- CSS
- toString#String
- @redux-toolkit
- react
- 자바스크립트
- 내장고차함수
- 자바스크립트#조건문#문자열
- 자바스크립트#JS#slice#splice
- cmarket
- JS#3일차달리자#초반인데#시간금방~
- removeCookie
- Beesbeesbees
- js
- https://developer-talk.tistory.com/299
- 자바스크립트#JS#var#let#const#undefined#null
- dom
- redux상태유지
- UX
- User Flow
- https://dasima.xyz/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%A0%9C%EA%B3%B1-math-pow-%EA%B3%84%EC%82%B0/
- ㄷㅌ
- children vs childrenNodes
- for~in/for~of
- 헷갈린다~
- 노드교과서
- UI
- slice/splice/split
- https://www.daleseo.com/js-array-slice-splice/
Archives
- Today
- Total
Daily Front_Minhhk
[JS] 반복문 for, while 본문
4일차
오늘 코플릿에서의 혼란스러웠던 문제 중 두 가지를 뽑았다! 정처기하면서 c, java, python 문제를 풀어보면서 반복문? 쯤이야 그냥 풀어 버릴 줄 알았지만 조건에 꼬리를 달며 문제가 나와서 1차 혼란 → 2차 혼란ㅋㅋㅋ 문제를 풀어도 짜여진 코드를 푸는 거만 하다보니;; 새로 짜는 것이 많이 약해 진 것 같다..ㅠ 보강을 좀 해야 하겠다😵💫 하면서 늘겠지??
for >>
for ( 초기화 , 조건식 ,증감문) {}
let sum = 0 ;
for (n=1; n<=4; n++) {
sum += n ;
}
consol.log(sum); // 0 1 2 3 4 의 합 === 10
while >>
**초기화**
while(**조건식**) **{**
**증감문
}**
let sum = 0;
let n = 1;
while (n<=4) {
sum += n ;
n++;
}
console.log(sum) ; // 10
코플릿 반복문_17_isPrime
문제
1 이상의 자연수를 입력받아 소수(prime number)인지 여부를 리턴해야 합니다.
입력
인자 1 : num
- number 타입의 수
출력
- boolean 타입을 리턴해야 합니다.
입출력 예시
let output = isPrime(2);
console.log(output); // --> true
output = isPrime(6);
console.log(output); // --> false
output = isPrime(17);
console.log(output); // --> true
👉🏻 우선 소수의 특징
- 1보다 커야함
- 2를 제외한 짝수는 아님
- 3부터의 소수는 약수가 1과 자기자신
을 생각해서 짜보자!
실습
function isPrime(num) {
if (num === 1) {
return false;
}
if (num === 2) {
return true;
}
if (num % 2 === 0) {
return false;
}
let sqrt = parseInt(Math.sqrt(num));
// num의 약수는 num의 제곱근을 기준으로 좌우 대칭을 이룬다 -> 따라서 제곱근 까지만 확인해도된다
// 1*18, 2*9, 3*6, Math.sqrt(18), 6*3,9*2,18*1 //
// 4 * 4
// num이 18 일 때, sqrt === 4
for (let i = 3; i <= sqrt; i += 2) { // 3보다 큰 홀수를 돈다
if (num % i === 0) { // 3으로 나눌 때 나머지가 0이면? 3의 배수가 되기때문에 약수존재해서ㅈㅈ
return false;
}
}
return true; // 위 조건문 반복문 다 미해당 시 트루~
}
코플릿 반복문_18_listPrimes
문제
2 이상의 자연수를 입력받아 2부터 해당 수까지의 소수(prime number)들을 리턴해야 합니다.
입력
인자 1 : num
- number 타입의 정수 (num >= 2)
출력
- string 타입을 리턴해야 합니다.
- 2-3-5-7의 형식으로 리턴해야 합니다.
주의 사항
- 이중 반복문(double for loop)을 사용해야 합니다.
입출력 예시
let output = listPrimes(2);
console.log(output); // --> '2'
output = listPrimes(6);
console.log(output); // --> '2-3-5'
output = listPrimes(18);
console.log(output); // --> '2-3-5-7-11-13-17'
실습
function listPrimes(num) {
// 첫번째 반복문 : num 보다 작은 수들 순회 > 각각 소수인지 확인해서 문자열로 합침
// 두번째 반복문 : 소수인지 아닌지 확인 작업
let result = '2'; // 출력예시가 2부터 시작
for(prime = 3; prime <= num; prime += 2){
let isPrime = true;
for(i = 3; i < prime; i += 2){
if(prime%i === 0) {
isPrime = false
}
}
if(isPrime === true) {
result = `${result}-${prime}`
}
}
return result;
}
💡 다른 방법2 << 나는 이게 더 나은 듯한!
'Code개발일지' 카테고리의 다른 글
[CSS ] css(Cascading Style Sheets), UI,UX,Selector (0) | 2022.10.27 |
---|---|
[HTML] HTML (HyperText Markup Language), 시맨틱 요소 (0) | 2022.10.26 |
[JS] String 타입을 Number 변환 // +, -, parseInt(), Number(), parseFloat() (0) | 2022.10.25 |
[JS] Math.pow() (0) | 2022.10.25 |
[JS] Number 타입을 String 타입으로 변환// toString(), String(), num+'',Template String ${(num)} (0) | 2022.10.25 |