JAVASCRIPT

자바스크립트 브레이크(break)문 복습하기, 배열문제 하나풀기

김도현2 2023. 3. 12. 18:42
반응형

브레이크문 복습, 문제 하나

자바스크립트에서 break문은 반복문이나 switch문에서 사용되며, 코드 실행 중지를 의미합니다.

 

 

 

 

 

반복문에서의 break

break문은 주로 for문, while문, do-while문 등과 같은 반복문에서 사용됩니다.

반복문 내에서 break문이 실행되면, 반복문을 즉시 종료하고 반복문 이후의 코드를 실행합니다.

 

for (var i = 0; i < 10; i++) {
  if (i === 5) {
    break;
  }
  console.log(i);
}

// 결과: 0 1 2 3 4

출력문의 위치도 잘 확인하여 결과가 어떻게 나오는지 잘 생각해봐야 합니다!

 

만약에, 

 

for (var i = 0; i < 10; i++) {
  console.log(i);
  if (i === 5) {
    break;
  }
}

// 결과: 0 1 2 3 4 5

출력문이 break문 위에 있다면 끝까지 5를 출력하고 코드 실행이 멈출겁니다!

 

 

 

 

switch문에서의 break

break문은 switch문에서 각 case문을 처리하고, 해당 case문이 실행된 후, switch문을 즉시 종료합니다.

 

var color = "red";

switch (color) {
  case "blue":
    console.log("This is blue.");
    break;
  case "red":
    console.log("This is red.");
    break;
  case "green":
    console.log("This is green.");
    break;
  default:
    console.log("This color is not recognized.");
}
// 결과: This is red.

위 예시에서, color변수의 값이 "red"이므로, switch문은 "This is red."를 출력한 후, 즉시 종료됩니다.

만약, break문이 없었다면, "This is green."default문도 실행될 것입니다.

 

 

 

 

 

 

문제.1

 

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

 

요 문제 하나 풀어보겠습니다.

 

문제 설명을 보면, 문제에서 정수 n을 지정해줍니다. 그 지정된 n 이하의 홀수들을 오름차순(작은수부터 큰수가 나오도록)

배열을 완성해주세요~ 라고 하네요.

 

즉 n을 10을 주면 1,3,5,7,9 배열을 만들라는거고 20을 주면 1,3,5,7,9,11,13,15,17,19 배열을 만들라는 뜻입니다.

 

 

먼저 오른쪽 solution.js 쪽을 보겠습니다.

 

function solution(n) {
    var answer = [];
    return answer;
}

코딩테스트 사이트에 가면 테스트를 위한 함수가 있습니다. 

사진엔 안보이지만 밑에쪽에 [코드 실행] 버튼을 누르면 임의로 solution(n)에 입력값을 집어넣어

코드를 잘맞게 썼나, 야비하게 답만 나오게끔 코드를 쓴거 아닌가 하는 테스트를 거친후에 정답인지 오답인지 결과가 나오게 됩니다. 

 

 

그냥 아무것도 안쓰고 [코드 실행을 누른 모습]

 

이제 시작 해보겠습니다.

 

우선 n을 1부터~n 까지 나열하여 배열에 집어 넣는 작업부터 해야할거같습니다.

 

function solution(n) {	//사이트에서 테스트를 하기위한 함수
    var answer = [];	//배열을 만들기위한 빈 배열
    
    for(let i=0; i<=n; i++){	//i를 n(문제가 주는 정수)까지 증가
        answer.push(i);		//answer라는 배열안에 push(추가)한다 i값을.
    }
    
    return answer;
}

 

여기서 push라는 처음보는 메서드를 보실텐데 설명하자면,

 

push() 메서드는 배열의 끝에 하나 이상의 요소를 추가하는 함수입니다.

push() 메서드는 추가하려는 요소를 인자로 받습니다. 인자로 전달된 요소는 배열의 맨 뒤에 추가됩니다. push() 메서드는 배열의 길이를 반환합니다.

 

라고 gpt가 자세히 알려주네요.. 역시 세상은 인공지능이 지배할 수 있을거 같습니다. gpt화이팅!

 

 

여튼 저대로 실행을 해보면,

 

테스트1번엔 n에 10을 넣었을시, 2번엔 n에 15을 넣었을 시인데,

결괏값에 0~10, 0~15까지 배열에 잘 넣어진 것을 확인할 수 있습니다! 

자 이제 여기서 조건문을 걸어 짝수를 없애주면 되겠죠?

배열안에 숫자 0도 필요없으니 for문 초깃값을 1부터 주겠습니다.

 

 

 

function solution(n) {
    var answer = [];
    
    for(let i=1; i<=n; i++){
        if(i % 2 === 1){	//i를 2로 나눠 몫이 1일시 (홀수)
            answer.push(i);
        }	
    } 
    return answer;
}

조건문을 걸어 홀수만 배열에 넣어줍니다.

배열에 홀수만 잘 넣어서 테스트가 통과된 모습입니다.

 

 

다음에는 조금 더 어려운 문제를 풀어봐야겠습니다!