1. 문제
2. 제출 답안
public String solution(int[] numLog) {
String answer = "";
int currentNum = numLog[0];
for (int i = 1; i < numLog.length; i++) {
int diff = numLog[i] - numLog[i - 1];
if (diff == 1) {
answer += "w"; // 수에 1을 더한 경우
} else if (diff == -1) {
answer += "s"; // 수에 1을 뺀 경우
} else if (diff == 10) {
answer += "d"; // 수에 10을 더한 경우
} else if (diff == -10) {
answer += "a"; // 수에 10을 뺀 경우
}
}
return answer;
}
문자열을 자주 수정하는 경우에는 StringBuilder를 사용하는 게 더 효율적일 듯 하다.
3. 다른 풀이
class Solution {
public String solution(int[] numLog) {
String answer = "";
for(int i = 1; i < numLog.length; i++){
int j = numLog[i-1] - numLog[i];
switch(j){
case -1 : answer+='w'; break;
case 1 : answer+='s'; break;
case -10 : answer+='d'; break;
case 10 : answer+='a'; break;
}
}
return answer;
}
}
switch 문을 사용한 차이가 있다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.0 수열과 구간 쿼리 3(Java) (0) | 2023.11.29 |
---|---|
[프로그래머스] Lv.0 수 조작하기1(Java) (0) | 2023.11.07 |
[프로그래머스] Lv.0 마지막 두 원소(Java) ※ (0) | 2023.11.01 |
[프로그래머스] Lv.0 이어 붙인 수(Java) (0) | 2023.10.25 |
[프로그래머스] Lv.0 원소들의 곱과 합(Java) (0) | 2023.10.25 |