[프로그래머스] 수 조작하기2

Seah Lee·2023년 6월 21일
0

프로그래머스

목록 보기
22/57

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 쟁이들의 답변

profile
성장하는 개발자

0개의 댓글