알고리즘 (JAVA)/프로그래머스 알고리즘

[프로그래머스] level1.자연수 뒤집어 배열로 만들기 - 개발자 배찌

개발자 배찌 2022. 5. 12. 15:57
728x90

 

풀이과정 1.

매개변수로 받은 long형 n을 string으로 변환하고,

ArrayList 형 list에 거꾸로 for 문 돌리면서 값을 담았다.

그런 다음, int[] 형 answer에 다시 담아서 return 해줌!

 

ㅇ_ㅇ.... 효율성이 안좋은 듯 한 코드이다..

import java.util.*;

class Solution {
    public int[] solution(long n) {
        String x = String.valueOf(n);
        
        ArrayList<String> list = new ArrayList<String>();
        int[] answer = new int[x.length()];
        
        for(int i = x.length()-1; i >= 0; i--){
            String y = x.substring(i,i+1);
            list.add(y);
        }
        for(int i=0; i<list.size(); i++){
            answer[i] = Integer.parseInt(list.get(i));
        }

        return answer;
    }
}

 

풀이과정 2.

자바에서 문자열을 다루며 빈번하게 하는 작업 중 하나가 뒤집기(reverse)이다.

StringBuffer 를 이용하여 문자열을 뒤집었다.

이런게 있는줄 몰랐는데.. 역시 보는만큼 아는것이여..

 

문자열 뒤집기 예시 :  "abcde" -> "edcba"

 

import java.util.*;

class Solution {
    public int[] solution(long n) {
        String x = n + "";
        int[] answer = new int[x.length()];
        
        StringBuffer sb = new StringBuffer(x);
        String reversedStr = sb.reverse().toString();
        
        for(int i=0; i<x.length(); i++){
            answer[i] = Integer.parseInt(reversedStr.substring(i,i+1));
        }
        return answer;
    }
}

https://yangbox.tistory.com/59

 

Java String reverse (문자열 뒤집기)

Java String reverse (문자열 뒤집기) 자바에서 문자열을 다루며 빈번하게 하는 작업 중 하나가 뒤집기(reverse)이다. 자바에서 문자열을 뒤집을 수 있는 방법 중 몇 가지를 소개한다. (String 클래스에

yangbox.tistory.com