브레이크문 복습, 문제 하나
자바스크립트에서 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;
}
조건문을 걸어 홀수만 배열에 넣어줍니다.
배열에 홀수만 잘 넣어서 테스트가 통과된 모습입니다.
다음에는 조금 더 어려운 문제를 풀어봐야겠습니다!