Blog

수 조작하기 1

문제 #

문제 설명을 적는다.

  • 제한사항

나의 풀이 #

// 1. replaceAll을 통해 wasd의 개수 구하기
class Solution {
    public int solution(int n, String control) {
        int leng = 0;
        int answer = n;
        
        leng = control.length();
        control = control.replaceAll("w", "");
        answer += leng-control.length();
        
        leng = control.length();
        control = control.replaceAll("s", "");
        answer -= leng-control.length();

        leng = control.length();
        control = control.replaceAll("d", "");
        answer += (leng-control.length())*10;
        
        leng = control.length();
        control = control.replaceAll("a", "");
        answer -= (leng-control.length())*10;
        
        return answer;
    }
}
// 2. switch - case로 반복문
class Solution {
    public int solution(int n, String control) {
        int leng = 0;
        
        for(int i = 0; i<control.length(); i++) {
            switch(control.charAt(i)) {
                case 'w' :
                    n = n+1;
                    break;
                case 's' :
                    n = n-1;
                    break;
                case 'd' :
                    n = n+10;
                    break;
                case 'a' :
                    n = n-10;
                    break;
            }
        }
        
        return n;
    }
}

다른 사람의 풀이 #

class Solution {
    public int solution(int n, String control) {
				// 향상된 for문 이용
				// 문자열을 char배열로 변환
        for(char c : control.toCharArray()){
						// 삼항연산자 이용
            n += c == 'w' ? 1 : c == 's' ? -1 : c == 'd' ? 10 : -10;
        }
        return n;
    }
}

관련개념 학습 #