[사전캠프 8일차]

- 처음 코드를 작성할때
break;없이 작성을 하니 나머지를 1을 만족하는 가장 작은 숫자가 아니라 주어진 n번 째 숫자까지 계속 진행을 하기에 나중에break;를 추가하여 완성.// for문과 if문 중첩 사용 function solution(n) { let answer = 0; for(let x = 2; x < n; x++) { // 조건은 3부터 시작하기 때문에 0과1은 제외 하고 진행 if(n % x === 1) { answer = x; break; //브레이크가 없으면 x<n 까지 계속 돌게 되어 가장 작은 수를 구할 수가 없어진다 } } return answer; }
- 코드 실행 결과 확인
Q.항상 콘솔에서만 출력값을 확인하였기에 왜 html화면에서 숫자값이 출력되지 않는가?
A. 함수이기에 return값을 반환해 주면 되는거였다..ㄷㄷ;;
중복값을 제거하는 방법에서 문제를 끝까지 확인 하지 않아includes()메소드를 사용하지 않은 상태에서 중복값 제거를 위한 비교
function generateLottoNumbers() {
let lotto = []; //6개의 값을 뽑아서 나열, 배열처리
//6번처리 - 반복문
for(let i=0;i<6;i++){
//1~45사이의 새로 추가될 숫자를 랜덤하게 뽑기
//random() : 0~1사이의 랜덤한 소수값을 표출
//floor() : 내림처리해서 정수로 변경
let num = Math.floor(Math.random() * 45) + 1;
//중복된 숫자를 제거하기 위한 비교 배열 추가
for(let j in lotto){
while(num == lotto[j]){ //현재 새로나온 숫자가 기존 숫자와 같으면
num = Math.floor(Math.random() * 45) + 1;
}
}
//push() - 배열에 마지막에 값추가메서드
lotto.push(num);
}
return lotto;
}
includes()메소드를 확인 후 사용방법을 구글링 한 후 코드 function generateLottoNumbers() {
let lotto = [];
let newA = []; // 중복 비교를 위한 배열
for(let i=0;i<6;i++){
let num = Math.floor(Math.random() * 45) + 1;
lotto.forEach((data) => {
if(!newA.includes(data)){
newA.push(data);
}
});
return newA;
}
function generateLottoNumbers() {
let lotto = []; // 빈배열 생성
while(lotto.length < 6){ // lotto숫자를 6개 까지만 뽑기 위한 조건
let num = Math.floor(Math.random() * 45 + 1);
if(!lotto.includes(num)){ // lotto에 num이 없을때
lotto.push(num) // num을 배열에 추가
}
}
lotto.sort((a,b)=> a-b); // 오름차순 정렬을 위한 sort
return lotto;
}

다음 팀 과제시에는 위 사항들을 적용하여 코드리뷰를 진행해 보기로 하였다.
간단한 과제에서도 많은것을 느끼고 배워간 시간이었다.
📢사담: 그런데 코드펜에서는 css에 있는 이미지가 불러와 지지 않는다..왜지?