정답
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에 값을 넣어줄 때는 대입 연산자 ‘=’을 사용하고 문자열의 경우 ""(쌍따옴표)를 필수로 사용해야 함을 잊지 마세요.