본문 바로가기

알고리즘 공부

스위치 문

class Solution {
    public int solution(int n, String control) {
        int answer = 0;
          char[] a = control.toCharArray();
        for (int i = 0; i < a.length; i++) {
            if (a[i] == 'w') {
                n += 1;
            } else if (a[i] == 's') {
                n -= 1;
            } else if (a[i] == 'd') {
                n += 10;
            } else {
                n -= 10;
            }
        }
        return n;
    }
}

내 코드 

for (char c : control.toCharArray()) {
			switch (c) {
			case 'w':
				n += 1;
				break;
			case 's':
				n -= 1;
				break;
			case 'a':
				n -= 10;
				break;
			case 'd':
				n += 10;
				break;
			default:
				break;
			}
		}
		return n;

이렇게도 가능
스위치 케이스 안 쓴지 너무 오래되어서...기억도 안나는 게 슬픈 현실....

 변수 c에 할당된 값은 'x'일때, 
'x'는 'w', 's', 'a', 'd'와 일치하지 않으므로
default 블록이 실행됩니다.
이것이 default 블록의 역할입니다.

만약 case에 break가 없으면 
일치하는 case 이후의 모든 case가
순차적으로 실행됨.

 switch 문이 해당 case에 일치하는 순간부터
다음 case로 이동하지 않고, 이어서 아래의 모든 case들이 순차적으로 실행됩니다.
이를 "fall-through"라고 합니다.


 
출처 챗지피티 

'알고리즘 공부' 카테고리의 다른 글

마지막 두 원소  (0) 2023.12.09
자바 tostring 메소드  (0) 2023.12.08
주사위 게임  (0) 2023.12.08
등차수열  (1) 2023.12.05
SQL에서 Char와 Varchar2의 차이점  (1) 2023.12.05