TIL

[20221108] 자바스크립트 if, switch 조건문 (feat. 항해99 프리온보딩 2일차)

youjeong_choi 2022. 11. 7. 23:02

if 조건문 - 혼공스 연습문제

1. 사용자에게 숫자를 입력받아 양수, 0, 음수를 구분하는 프로그램을 만들기(p 140)

<script>
    const a = Number(prompt('숫자를 입력해주세요.', ''))

    if (a>0) {
        alert("양수입니다.")
    } else if (a===0) {
        alert("0입니다.")
    } else {
        alert("음수입니다.")
    }
</script>

 

2. 사용자에게 숫자를 입력받아 홀수와 짝수를 구분하는 프로그램 만들기(p 140)

<script>
    const a = Number(prompt('숫자를 입력해주세요.', ''))

    if (a%2 === 0) {
        alert("짝수입니다.")
    } else {
        alert("홀수입니다.")
    }
</script>

 

3. 현재가 몇 월인지 확인하고, 계절을 구분하는 프로그램 만들기

<script>
    const a = Number(prompt('월을 입력해주세요.', ''))

    if (3 <= a && a < 6) {
        alert("봄입니다.")
    } else if (6 <= a && a < 9) {
        alert("여름입니다.")
    } else if (9 <= a && a < 12) {
        alert("가을입니다.")
    } else {
        alert("겨울입니다.")
    }
</script>

위의 문제에서 조건을 쓸 때 "3 <= a < 6"으로 쓰게 되면 두 가지 조건이 중첩되어서 맞지 않다. 위와 같이 && 논리연산자를 써줘야한다. 

 

switch 조건문 - 혼공스 연습문제

범위를 조건으로 가지는 if 조건문과 달리 switch 조건문은 특정 값의 조건을 비교할 때 사용한다. switch 조건문의 괄호 안에는 비교할 값을 입력하고, 이때 입력한 표현식과 case 키워드 옆의 표현식이 같다면 case 키워드 바로 다음에 오는 문장을 실행한다.

 

1. 태어난 연도를 입력받아 띠 출력하기(switch 조건문 활용)

<script>
    const year = Number(prompt('태어난 해를 입력해주세요.', ''))
    const tti = '원숭이,닭,개,돼지,쥐,소,호랑이,토끼,용,뱀,말,양'.split(',')

    let result = ''

    for (i = 0; i < 12; i++)
        switch (year % 12) {
            case i:
                result = tti[year % 12]
                alert(`${year}년에 태어났다면 ${result} 띠입니다.`)
                break
    }
</script>

for문을 활용하여 반복되는 부분이 적도록 해보았다.

 

2. 태어난 연도를 입력받아 간, 띠로 전환하여 알려주기

    <script>
        const rawInput = prompt('태어난 해를 입력해주세요.', '')
        const year = Number(rawInput)

        const tti = '신,유,술,해,자,축,인,묘,진,사,오,미'.split(',')
        const gan = '경,신,임,계,갑,을,병,정,무,기'.split(',')

        alert(`${year}년은 ${gan[year % 10]}${tti[year % 12]}년입니다.`)
    </script>

간은 연도를 10으로 나눈 나머지로 판단하고, 띠는 12로 나눈 나머지로 판단!