[프로그래머스,Level 1] 정수 내림차순으로 배치하기(JAVA 구현)

2020. 12. 29. 12:26·CodingTest/프로그래머스(Programmers)
반응형

- 첫 풀이 및 정답풀이

  이 문제의 경우 입력 데이터를 어떻게 변형시킬 수 있을지 고민하다가, 1. 입력 데이터를 각 자릿수 별로 추출한다. 2. 추출한 자릿수들을 선형 자료구조에 저장해 3. 역순으로 정렬시킨다. 4. 내림차순으로 정렬된 자릿수들을 문자열로 붙여나간다.라는 생각을 토대로 코드를 작성해 보았다. 또한, 문제에서 새로운 정수를 리턴하는 것이 결괏값이기 때문에 그에 맞게 데이터 타입 역시 바꾸어 주어야 한다.

 

import java.util.ArrayList;
import java.util.Collections;

class Solution {    
    public long solution(long n) {
        // 1. 각 자릿수를 저장할 ArrayList 및 문자열 변수.
        ArrayList<Long> arr = new ArrayList<>();
        String answer ="";
        
        // 2. 각 자릿수를 추출해 ArrayList의 원소로 삽입.
        while(n != 0){
            arr.add(n % 10);
            n/=10;
        }
        
        // 3. Collections의 sort(), reverseOrder() 메소드를 이용해 역순으로 정렬한다.
        Collections.sort(arr,Collections.reverseOrder());
        
        // 4. ArrayList의 원소들을 문자열에 붙여준다.
        for(long x : arr){
            answer+=String.valueOf(x);
        }
        
        // 5. 정수로 반환하기 위해 Long.parseLong()으로 문자열을 변환시킨다.
        return Long.parseLong(answer);
    }
}

  다른 풀이 방법이 있을까 하고 검색해보았지만, 대다수 이와 비슷하게 푼 것 같다.

 

저작자표시 (새창열림)
'CodingTest/프로그래머스(Programmers)' 카테고리의 다른 글
  • [프로그래머스,Level 1] 자릿수 더하기(JAVA 구현)
  • [프로그래머스,Level 1] 자연수 뒤집어 배열로 만들기(JAVA 구현)
  • [프로그래머스,Level 1] 정수 제곱근 판별(JAVA 구현)
  • [프로그래머스,Level 1] 제일 작은 수 제거하기(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준7576
    백준7576자바
    component-scan
    meidum
    next 14
    백준2751
    BOJ
    boj1427
    Easy
    백준1260
    백준
    알고리즘
    백준1427
    프로그래머스
    Java
    TypeScript
    boj2108
    medium
    자바
    leetcode 2236
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[프로그래머스,Level 1] 정수 내림차순으로 배치하기(JAVA 구현)
상단으로

티스토리툴바