Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- sort
- 스파르타내일배움캠프
- 코딩테스트
- Riot
- python
- API
- github
- 스파르타내일배움캠프TIL
- 라이엇
- 리그오브레전드
- SQL
- 파이썬
- 장고
- 내일배움캠프
- 백준
- drf
- 그리디
- git
- programmers
- 프로그래머스
- 롤
- greedy
- 그리디알고리즘
- lol
- 탐욕알고리즘
- 알고리즘
- 코딩테스트준비
- 자바
- Django
- java
Archives
- Today
- Total
Lina's Toolbox
[정렬] 프로그래머스 - 가장 큰 수 본문
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.
예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.
0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.
제한 사항
- numbers의 길이는 1 이상 100,000 이하입니다.
- numbers의 원소는 0 이상 1,000 이하입니다.
- 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다.
입출력 예 | |
numbers | return |
[6, 10, 2] | "6210" |
[3, 30, 34, 5, 9] | "9534330" |
내 풀이
import java.util.*;
class Solution {
public String solution(int[] numbers) {
// 배열을 List로 변환
List<Integer> numList = new ArrayList<>();
for (int number : numbers) {
numList.add(number); // 각 요소를 리스트에 추가
}
// 특정 기준으로 정렬
Collections.sort(numList, new Comparator<Integer>() {
@Override
public int compare(Integer num1, Integer num2) {
String str1 = Integer.toString(num1);
String str2 = Integer.toString(num2);
return (str2 + str1).compareTo(str1 + str2);
}
});
// 정렬된 결과를 문자열로 변환
StringBuilder result = new StringBuilder();
for (Integer num : numList) {
result.append(num);
}
// 0인 경우 처리
if (result.charAt(0) == '0') {
return "0";
}
// 결과 반환
return result.toString();
}
}
3번째로 푸는 문제라 어렵지 않았다.
파이썬으로 두번이나 풀었던 문제라는 게 딱 기억이 나서
자바로 구현하는 방법만 알아내면 되었다.
입력이 [0, 0, 0]일 경우, 정렬 후 결과는 "000"이 되기 때문에,
이런 경우를 방지해 주는
// 0인 경우 처리 를 깜빡 해서 한 번 틀렸다.
저번에 풀 때도 이것 때문에 한번 틀렸던 듯😂
풀면서 자바 문법은 다른 별도의 포스팅에 작성하였다.
🔗 https://kimwoolina.tistory.com/129
https://school.programmers.co.kr/learn/courses/30/lessons/42746?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'문제 풀이 > programmers' 카테고리의 다른 글
[해시] 프로그래머스 - 완주하지 못한 선수 (1) | 2024.10.03 |
---|---|
[정렬] 프로그래머스 - H-Index (0) | 2024.10.02 |
[정렬] 프로그래머스 - K번째수 (1) | 2024.10.02 |
[DFS] programmers (프로그래머스) - 타겟 넘버 (1) | 2024.10.01 |
[Greedy] programmers(프로그래머스) - 큰 수 만들기 (0) | 2024.10.01 |