class Solution {
public String solution(int[] numLog) {
StringBuilder sb = new StringBuilder();
for(int i=1;i<numLog.length;i++) {
if(numLog[i]-numLog[i-1]==1) sb.append("w");
else if (numLog[i]-numLog[i-1]==-1) sb.append("s");
else if (numLog[i]-numLog[i-1]==10) sb.append("d");
else if (numLog[i]-numLog[i-1]==-10) sb.append("a");
}
return sb.toString();
}
}
문자열 붙이기 = StringBuilder 공식이 내 머리를 지배하기 시작했다.
[다른 사람의 풀이]
class Solution {
public String solution(int[] numLog) {
String answer = "";
for (int i=0; i<numLog.length-1;i++) {
int a = numLog[i+1] - numLog[i];
if (a > 1) answer += "d";
else if (a == 1) answer += "w";
else if (a < -1) answer += "a";
else answer += "s";
}
return answer;
}
}
String example = "" + "";
로 붙일 수 있다는 사실.. answer += "a"; 를 그냥 append 안써도 String 단에서 끝낼 수 있다는 점..~
class Solution {
public String solution(int[] numLog) {
String answer = "";
int temp = numLog[0];
for(int i=1; i<numLog.length; i++){
switch(numLog[i]-temp) {
case 1:
answer += "w";
break;
case -1:
answer += "s";
break;
case 10:
answer += "d";
break;
case -10:
answer += "a";
break;
}
temp = numLog[i];
}
return answer;
}
}
이건 다시 돌아온 switch case 쟁이들의 답변