[JavaScript] 조건문

지애·2024년 6월 30일
1

JavaScript

목록 보기
3/5

개념

조건에 따라 실행 명령을 달리할 때 조건문을 쓴다.

switch

switch(조건)
{
	case 값1: 명령 1
    	break
    case 값2: 명령 2
    	break
	default: 명령 n
}
  • 조건은 case문의 값과 일대일로 대응되어야 한다.
  • 조건과 일치하는 case문의 값이 없다면, default의 명령이 실행된다.
  • default문을 제외한 모든 case문에는 반드시 마지막에 break을 붙여줘야 한다.

if else

if(조건){
	명령문
} else if (조건){
	명령문
}else{
	명령문
}

문제 풀이

프로그래머스 level 0 - 수 조작하기 1

function solution(n, control) {
    var answer = n;
    for (i=0; i < control.length; i++){
        const word = control[i];

        if (word == 'w') {
            answer += 1
        } else if (word == 's'){
            answer -= 1
        } else if (word == 'd'){
            answer += 10
        } else {
            answer -= 10
        }
    }
    return answer;
}
  • switch 문으로도 풀었었는데 break을 빼먹어서 결과가 이상하게 나왔었다...

프로그래머스 level 0 - 마지막 두 원소

function solution(num_list) {
    last_idx = num_list.length - 1
    if (num_list[last_idx] > num_list[last_idx-1]){
        num_list.push(num_list[last_idx]-num_list[last_idx-1])        
    } else {
        num_list.push(num_list[last_idx]*2)
    }
    
    return num_list;
}
  • 다른 풀이 보고 배운 것
    const [a, b] = num_list.slice(-2) 이렇게 마지막 두 원소를 가지고 와도 된다!

프로그래머스 level 0 - 이어 붙인 수

function solution(num_list) {
    var odd = ''
    var even = ''
    for (i = 0; i < num_list.length; i++){
        var num = num_list[i]
        if (num % 2 == 0){
            even += String(num)
        } else {
            odd += String(num)
        }
    }
    var answer = Number(odd) + Number(even);
    return answer;
}

프로그래머스 level 0 - 홀짝에 따라 다른 값 반환하기

function solution(n) {
    var answer = 0;
    var start = 0;
    
    if (n % 2 == 0){
        for (i = 2; i <= n; i += 2){
            answer += (i*i)
        }   
    } else {
        for (i = 1; i <= n; i += 2){
            answer += i
        }
    }

    return answer;
}
  • 다른 사람 풀이 보고 배운 것
    수학 공식을 적극 활용하면 코드가 짧아진다! 단, 공식을 확실히 알고 있을 때만 쓰도록 하자.
profile
차근차근

0개의 댓글