수 조작하기 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;
}
}