[문제]
정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다.
- "w" : n이 1 커집니다.
- "s" : n이 1 작아집니다.
- "d" : n이 10 커집니다.
- "a" : n이 10 작아집니다.
위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요.
[내 풀이]
class Solution {
public int solution(int n, String control) {
int answer = 0;
for (int i = 0; i< control.length(); i++){
char tmp =control.charAt(i);
switch(tmp){
case 'w':
n +=1;
break;
case 's':
n -=1;
break;
case 'd':
n +=10;
break;
case 'a':
n -=10;
break;
}
}
return n;
}
}
- switch문 문법 확인
- 문자열에는 "", 문자에는 ' ' -> 작은 따옴표, 큰 따옴표 주의하기
[다른 사람 풀이]
class Solution {
public int solution(int n, String control) {
int answer = n;
for(char ch : control.toCharArray()) {
switch(ch) {
case 'w': answer += 1; break;
case 's': answer -= 1; break;
case 'd': answer += 10; break;
case 'a': answer -= 10; break;
default:break;
}
}
return answer;
}
}
- toCharArray를 이용해 배열로 바꾼 후 for문 사용
'개발 > 코테' 카테고리의 다른 글
[JAVA] 수열과 구간 쿼리3 (1) | 2024.04.12 |
---|---|
[JAVA] 수 조작하기 2 (1) | 2024.04.12 |
[JAVA] 마지막 두 원소 (0) | 2024.04.11 |
[JAVA] 이어 붙인 수 (0) | 2024.04.11 |
[JAVA] 주사위게임2 (0) | 2024.04.05 |