- 1부터 50까지 369결과를 프린트하자.
- 이 문제는 풀지 못해서 강사님의 답을 봤다..ㅠ
- 내가 미처 생각지 못했던 toString()과, j 컨디션, 그리고 삼항연산자에 볼드처리 했다.
for(i=1; i<=50; i++){
**let stringValue = i.toString();**
let result = '';
**for(let j=0; j <stringValue.length; j++)**{
if(stringValue[j] == '3' || stringValue[j] == '6' || stringValue[j] == '9'){
**result +='짝';**
}
}
**console.log(result.length > 0 ? result : i);
}**
- 주어진 숫자가 소수(prime number)이면 true 아니면 false를 출력하는 프로그램을 짜시오.
- 나의 첫번째 답
- 결과값이 한방에 안나온다.
- 모든 i를 돌면서 출력을 하고 마지막에 답이 나온다.
function primeNumber(number){
for(i=2; i<number; i++){
if(number % i == 1){
console.log(true);
}else{
console.log(false);
};
};
}
- 강사님의 답
- prime 값이 아닌 것을 조건에 놓았다.
- 간편하고, 한방에 답이 나온다.
- 하지만, 변수가 전역으로 선언되어 있다.
let num = 9;
let isPrime = true;
for(let i =2; i<num; i++){
if(num % i == 0){
isPrime = false;
}
}
console.log(isPrime);
- 강사님의 답을 수정한 나의 답
- 함수형태로 재사용성을 높였다.
- 또한, 프로그램 성능을 높이기 위해 기존 전역 변수를 함수 내 지역변수로 선언했다.
function checkPrime(num){
let isPrime = true;
for(let i = 2; i<num; i++){
if(num % i == 0){
isPrime = false;
}
}
return console.log(isPrime);
}
checkPrime(11);