포스트

수 조작하기1

https://school.programmers.co.kr/learn/courses/30/lessons/181926

문제

  • 문제 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Solution {
    public int solution(int n, String control) {
        char[] controlChars = control.toCharArray();
        
        for (char c : controlChars) {
            switch (c) {
                case 'w':
                    n += 1;
                    break;
                case 's':
                    n -= 1;
                    break;
                case 'd':
                    n += 10;
                    break;
                case 'a':
                    n -= 10;
                    break;
            }
        }
        
        return n;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Solution {
    public int solution(int n, String control) {
        for (char c : control.toCharArray()) {
            switch (c) { // n 값이 최소값 -100,000과 최대값 100,000을 벗어나지 않도록 보장
                case 'w':
                    n = Math.min(n + 1, 100000); // Math.max(a, b) 함수는 a와 b 중에서 큰 값을 반환 
                    break;
                case 's':
                    n = Math.max(n - 1, -100000);
                    break;
                case 'd':
                    n = Math.min(n + 10, 100000);
                    break;
                case 'a':
                    n = Math.max(n - 10, -100000);
                    break;
            }
        }
        return n;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Solution {
    public int solution(int n, String control) {
        for (char c : control.toCharArray()) {
            if (c == 'w') {
                n++;
            } else if (c == 's') {
                n--;
            } else if (c == 'd') {
                n += 10;
            } else if (c == 'a') {
                n -= 10;
            }
        }
        return n;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Solution {
    public int solution(int n, String control) {
        for (char c : control.toCharArray()) {
            if (c == 'w') {
                n = Math.min(n + 1, 100000);
            } else if (c == 's') {
                n = Math.max(n - 1, -100000);
            } else if (c == 'd') {
                n = Math.min(n + 10, 100000);
            } else if (c == 'a') {
                n = Math.max(n - 10, -100000);
            }
        }
        return n;
    }
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.