프로그래머스 : 순서바꾸기

Digeut·2024년 5월 24일
0

프로그래머스

목록 보기
166/171

❔문제설명

🤔아이디어

StringBuilder을 통해서 하나의 String으로 합쳐서 만들면 되지 않을까? n을 기준으로 반복문으로 StringBuilder로 만들어내고 그 이후에 거기에 처음부터 붙여가는 방식으로 하면 되지 않을까.. 많이 누덕누덕으로 만드는 기분이긴한데... 일단 해보자

❌틀린코드

class Solution {
    public int[] solution(int[] num_list, int n) {
        int[] answer = new int[num_list.length];
        StringBuilder sb = new StringBuilder();
        for(int i = n + 1 ; i < num_list.length ; i++){
            sb.append(num_list[i]);
        }
        
        for(int j = 0 ; j < n + 1 ; j++){
            sb.append(num_list[j]);
        }
        String[] result = sb.split("");
        for (int i = 0; i < result.length; i++) {
            answer[i] = Integer.parseInt(result[i]);
        }
        return answer;
    }
}

🙄오류


StringBuilder로 만들면 StringBuilder 형태가 된다!! 이걸 다시 String형태로 바꿔야한다.. ㅎ 진짜 코드 너무 길어지는데...

💡코드풀이

class Solution {
    public int[] solution(int[] num_list, int n) {
        int[] answer = new int[num_list.length];
        StringBuilder sb = new StringBuilder();
        for(int i = n  ; i < num_list.length ; i++){
            sb.append(num_list[i]);
        }
        
        for(int j = 0 ; j < n  ; j++){
            sb.append(num_list[j]);
        }
        
        String resultString = sb.toString();
        
        String[] result = resultString.split("");
        for (int i = 0; i < result.length; i++) {
            answer[i] = Integer.parseInt(result[i]);
        }
        return answer;
    }
}

풀이는 성공했는데 너무 코드가 길고 오래걸린다... 다른 방법도 한번 생각해봐야지...

profile
백엔드 개발자 지망생

0개의 댓글