[알고리즘문제풀기] 수 조작하기 2

silver's avatar
Jun 17, 2025
[알고리즘문제풀기] 수 조작하기 2

문제

내가 작성한 정답

// 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

silver