1. 문제
2. 제출 답안
public int solution(int n, String control) {
int answer = 0;
for (int i = 0; i < control.length(); i++) {
char c = control.charAt(i); // 문자열에서 i번째 문자 가져오기
switch (c) {
case 'w':
n += 1;
break;
case 's':
n -= 1;
break;
case 'd':
n += 10;
break;
case 'a':
n -= 10;
break;
default:
// 알 수 없는 문자는 무시
break;
}
}
answer = n;
return n;
}
3. 다른 풀이
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;
}
}
비슷하게 switch 문을 사용했지만,
charAt() 대신 toCharArray()를 사용했다.
그리고 향상된 for문을 사용해서 좀 더 깔끔해보인다!
toCharArray()
toCharArray()는 문자열을 문자 배열로 변환하는 메서드. 이 메서드를 호출하면 문자열의 각 문자가 배열 요소로 복사된다.
이를 통해 문자열을 문자 단위로 조작하거나 처리하는 데 유용하다.
String str = "Hello";
char[] charArray = str.toCharArray();
// charArray는 ['H', 'e', 'l', 'l', 'o']가 됩니다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.0 수열과 구간 쿼리 3(Java) (0) | 2023.11.29 |
---|---|
[프로그래머스] Lv.0 수 조작하기2(Java) (0) | 2023.11.08 |
[프로그래머스] Lv.0 마지막 두 원소(Java) ※ (0) | 2023.11.01 |
[프로그래머스] Lv.0 이어 붙인 수(Java) (0) | 2023.10.25 |
[프로그래머스] Lv.0 원소들의 곱과 합(Java) (0) | 2023.10.25 |