문제 풀이 (JAVA)

class Solution {
    public int[] solution(long n) {
        String [] str = Long.toString(n).split(""); // 숫자 n을 String으로 변환 -> split을 사용해 문자열 배열로 변환
        int[] answer = new int[str.length]; // return 할 int 숫자형 배열 선언
        int j=str.length-1; // j는 끝자리 인덱스 변수이다.
        for(int i=0 ; i<str.length; i++, j--){
            answer[i]= Integer.parseInt(str[j]); // 끝자리 j 문자열 배열을 숫자로 변환하여 저장한다. i는 1씩 증가 j는 1씩 감소
            
        }
        return answer;
    }
}

주요 핵심 포인트

1.  숫자를 뒤집기 위하여 Long형태의 숫자를 String으로 변환하여 배열로 저장하였다.

2. String으로 저장된 숫자의 끝자리부터 -1 씩 감소하여 출력 배열의 1번째부터 저장하면 숫자 뒤집기가 된다.

'프로그래머스(JAVA)' 카테고리의 다른 글

이상한 문자 만들기  (0) 2022.04.16
자릿수 더하기  (0) 2022.04.16
정수 내림차순으로 배치하기  (0) 2022.04.16
정수 제곱근 판별  (0) 2022.04.16
제일 작은 수 제거하기  (0) 2022.04.16

문제 풀이 (JAVA)

import java.util.*;
class Solution {
    public long solution(long n) {
        long answer = 0;
        List<Long> longlist = new ArrayList<Long>(); // 자릿수 숫자를 저장할 리스트 선언
        while(n>0){ // n이 0이 되는순간 종료
            longlist.add(n%10); // n을 10으로 나눈 나머지는 n의 끝자리를 리턴한다.
            n /=10; // n을 10으로 나눈다. ex)끝자리가 1의 자리였다면 다음 반복문은 10의 자리가 끝자리이다.
        }
        longlist.sort(Comparator.reverseOrder()); // 리스트의 숫자를 내림차순 정렬한다.
        String num =""; // 숫자를 다시 조합하기 위한 문자열 선언
        for(Long value : longlist){
            num= num + value.toString(); // Long->String으로 변환하여 String 변수에 조합한다.
        }
        answer = Long.parseLong(num); // 조합된 String 변수를 Long 변수로 변환한다.
        
        return answer;
    }
}

주요 핵심 포인트

1. ArrayList를 사용하려면 java.util.ArrayList를 import해야 한다.

2. 숫자를 while문을 사용해 나머지로 끝자리부터 리스트에 저장하는 로직을 사용하였다.

3. List의 정렬 함수 기능 Comparator.reverseOrder()를 사용하여 내림차순 정렬을 하였다.

4. List의 순서대로 저장된 값을 Long 값을  변환하여 String으로 조합하기 위해 toString() 함수를 사용하였다.

5. 조합된 String 숫자열을 .parseLong을 사용해 Long으로 변환하였다.

'프로그래머스(JAVA)' 카테고리의 다른 글

자릿수 더하기  (0) 2022.04.16
자연수 뒤집어 배열로 만들기  (0) 2022.04.16
정수 제곱근 판별  (0) 2022.04.16
제일 작은 수 제거하기  (0) 2022.04.16
짝수와 홀수  (0) 2022.04.16

문제 풀이 (JAVA)

class Solution {
    public long solution(long n) {
        long answer=0;
        for(long i=0; i<=n; i++){ // 제곱근은 n보다 작으므로 임의의 숫자 i 반복 증가
            if((i*i)==n){ // 임의의 숫자 i의 제곱이 n이라면
                answer= (i+1)*(i+1); // 임의의 숫자 i+1의 제곱을 결과값에 저장 후 for문 종료
                break;
            }
            else{
                answer=-1; // i의 제곱이 n과 같은 숫자가 없다면 -1 을 결과값에 저장
            }
        }
        return answer;
    }
}

주요 핵심 포인트

1. 임의의 숫자 i의 제곱은 n보다 작아야 하므로 임의의 숫자를 i부터 n까지 순서대로 증가한다.

2. i의 제곱이 같은 값이 있다면 i+1의 제곱을 결과값에 저장하고 for문을 종료한다.

3. n까지 i가 증가할동안 제곱값이 같지 않다면 -1을 리턴한다.

'프로그래머스(JAVA)' 카테고리의 다른 글

자연수 뒤집어 배열로 만들기  (0) 2022.04.16
정수 내림차순으로 배치하기  (0) 2022.04.16
제일 작은 수 제거하기  (0) 2022.04.16
짝수와 홀수  (0) 2022.04.16
최대공약수와 최소공배수  (0) 2022.04.16

문제 풀이 (JAVA)

import java.util.*;
class Solution {
    public int[] solution(int[] arr) {
        int [] answer= new int[arr.length-1]; // 숫자 배열 1개를 제거한 값을 담을 배열 선언
        int min=arr[0]; // 제일 작은 수를 첫번째 배열로 임의로 선언
        int j=0;
        if(arr.length==1){ // 숫자 배열이 1개라면 제거할 값이 없으므로 -1 세팅
            answer=new int[arr.length]; // 배열이 1개라면 리턴할 배열도 1개이므로 배열 재선언
            answer[0]=-1;
        }
        if(arr.length>1){ // 배열의 숫자가 2개이상이라면
            for(int i=1; i<arr.length; i++){ //최소값을 첫번째 배열로 정했으므로 배열 index 1부터 비교
                if(min> arr[i]){ // 비교한 배열이 최소값이라면 최소값을 재정의한다.
                    min=arr[i];
                }
            }   
            for(int i=0; i<arr.length; i++){ //배열의 최소값 제거를 위한 반복문
                if(min!=arr[i]){ // 배열의 값이 최소값이 아니라면 배열 세팅
                    answer[j]=arr[i]; 
                    j++; // 세팅 후 배열의 index+1 (다음 배열 세팅을 위함)
                }
            }
        }
        return answer;
    }
}

주요 핵심 포인트

1. ArrayList를 사용하려면 java.util.ArrayList를 import 해야 한다.

2. 숫자 배열이 한개일때 -1을 리턴하도록 해야한다.

3. 숫자 배열이 두개 이상일때 최소값을 구하여 최소값이 아닐 경우를 제외하고 배열에 세팅하였다.

4. 내가 짠 코드는 최소값이 동일한 것이 두 개 일때는 문제가 될 수 있는 코드이지만 테스트를 통과하였다. 추후 주의해서 짜야 한다.

'프로그래머스(JAVA)' 카테고리의 다른 글

정수 내림차순으로 배치하기  (0) 2022.04.16
정수 제곱근 판별  (0) 2022.04.16
짝수와 홀수  (0) 2022.04.16
최대공약수와 최소공배수  (0) 2022.04.16
콜라츠 추측 Level.1  (0) 2022.04.16

+ Recent posts