정답

    switch(month) {
        case 12 : case 1 : case 2 :
            season = "겨울";
        break;
        case 3 : case 4 : case 5 :
            season = "봄";
        break;
        case 6 : case 7 : case 8 :
            season = "여름";
        break;
        case 9 : case 10 : case 11 :
            season = "가을";
        break;
    }

     

    해설

    이 예제에서 판단해야 할 변수는 month입니다. 따라서 switch 문 괄호에는 month를 넣어줍니다.

    12~2월까지는 season = "겨울" 문장을 실행하면 됩니다. 구현할 때,

    case 12 : season = "겨울" break; 
    case 1 : season = "겨울" break;
    case 2 : season = "겨울" break;

     

    이렇게 구현할 수도 있지만 이렇게 구현하면 season = "겨울" break;라는 문장을 똑같이 세 번 넣어야 합니다. 같은 코드가 중복되면 해당 코드를 수정할 때 중복 코드를 모두 수정해야 하므로 바람직하지 않습니다.

     

    switch 문을 요약하면, 입력된 값이 어떤 case에 해당하는지 찾고 그 case부터 switch 문이 끝날 때까지 실행합니다. 단, break를 만나면 switch 문을 빠져나옵니다.

     

    즉, case 문 다음에 break가 없다면 문제의 코드를 계속 수행할 것이므로 다음과 같이 써도 똑같이 수행합니다.

    case 12 : case 1 : case 2 :
        season = "겨울";
        break;

     

    이처럼 같은 동작을 하는 여러 case를 묶어서 한 번에 처리하고, 그 뒤에 break를 한 번만 적어주면 더 편리하게 switch 문을 이용할 수 있습니다. season에 값을 넣어줄 때는 대입 연산자 ‘=’을 사용하고 문자열의 경우 ""(쌍따옴표)를 필수로 사용해야 함을 잊지 마세요.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.