ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • java
  • 안드로이드
  • Android
  • getOrDefault
  • git
  • reactjs
  • DP
  • 프로그래머스 Lv.2
  • 프로그래머스
  • git bash
  • PriorityQueue
  • 코틀린
  • 해시
  • Queue
  • greedy
  • dfs
  • HashMap
  • React
  • BFS
  • kotiln
  • 스택/큐
  • 깃허브
  • stack
  • 백준
  • Arrays.sort()
  • compareTo()
  • entrySet
  • 깃
  • Comparator
  • sort

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

Algorithm & Data Structure/프로그래머스

[Java] 프로그래머스 : 정수 내림차순으로 배치하기

2022. 2. 19. 00:17

https://programmers.co.kr/learn/courses/30/lessons/12933?language=java 

 

코딩테스트 연습 - 정수 내림차순으로 배치하기

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이

programmers.co.kr

 

풀이

처음엔 toCharArray로 char 배열로 만들었는데, sort에 Comparator T에 기본자료형이 들어가지 못한다고한다.
그래서 .split("")으로 String 타입으로 배열을 선언했다.

  • Long->String : String.valueof(n)
  • 내림차순 정렬 : Arrays.sort()-> StringBuilder을 reverse()
import java.util.*;
class Solution {
    public long solution(long n) {
        String[] list = String.valueOf(n).split(""); // String으로 변환후 잘라서 배열에 넣음
        Arrays.sort(list);
        
        StringBuilder sb = new StringBuilder();
        for (String s : list) sb.append(s);
        
        return Long.parseLong(sb.reverse().toString()); 
    }
}

 

+

다른사람풀이

  • Long->String : Long.toString(n)
  • 내림차순 정렬 : Arrays.sort(배열, Collections.reverseOrder())
import java.util.*;

class Solution {
    public long solution(long n) {
        String[] arrStr = Long.toString(n).split(""); // Long->String->String[]
        Arrays.sort(arrStr, Collections.reverseOrder()); // 내림차순 정렬
 
        return Long.parseLong(String.join("", arrStr)); // String[]->String->Long
    }
}

 

 

저작자표시 (새창열림)

'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글

[Java] 프로그래머스 : 로또의 최고 순위와 최저 순위  (0) 2022.02.21
[Java] 프로그래머스 : 실패율  (0) 2022.02.20
[Java] 프로그래머스 : 신고 결과 받기  (0) 2022.02.18
[Java] 프로그래머스 : 다트 게임  (0) 2022.02.14
[Java] 프로그래머스 : 비밀지도  (0) 2022.02.14
    'Algorithm & Data Structure/프로그래머스' 카테고리의 다른 글
    • [Java] 프로그래머스 : 로또의 최고 순위와 최저 순위
    • [Java] 프로그래머스 : 실패율
    • [Java] 프로그래머스 : 신고 결과 받기
    • [Java] 프로그래머스 : 다트 게임
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바