문제
내가 작성한 정답
// String
class Solution {
public String solution(int[] numLog) {
String answer = "";
for(int i=1; i<numLog.length; i++){
int num = numLog[i] - numLog[i-1];
answer += (num == 1)? "w": (num == -1 )? "s" : (num == 10)? "d": "a";
}
return answer;
}
}
// StringBuilder
class Solution {
public String solution(int[] numLog) {
StringBuilder sb = new StringBuilder();
for(int i=1; i<numLog.length; i++){
int num = numLog[i] - numLog[i-1];
sb.append((num == 1)? "w": (num == -1 )? "s" : (num == 10)? "d": "a");
}
return sb.toString();
}
}
// stream
import java.util.stream.*;
class Solution {
public String solution(int[] numLog) {
return IntStream.range(1,numLog.length)
.mapToObj(i-> {
int num = numLog[i] - numLog[i - 1];
return (num == 1)? "w": (num == -1 )? "s" : (num == 10)? "d": "a";
})
.collect(Collectors.joining());
}
}다른 사람들의 정답
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;
}
}Share article