long형으로 전달되는 정수 n을 내림차순으로 정렬해야하는 문제,
레벨1의 여러 문제를 풀어보면 split이라는 함수를 만나게 되는데, 그 함수를 사용하여 풀면 되는 문제!
+ Collection의 reverse까지
다만 이 문제를 나의 풀이대로 풀다보면 String.join 이라는 함수를 만나게 되는데, 이 함수는 나도.. 검색해서 찾았다
String.join
Concatenates the elements of a specified array or the members of a collection, using the specified separator between each element or member.
각 요소나 멤버 사이에 지정된 구분 기호를 사용하여 지정된 배열의 요소나 컬렉션의 멤버를 연결합니다.
출처 : https://docs.microsoft.com/en-us/dotnet/api/system.string.join?view=net-5.0
위에 나와있는대로, 공백이나 ',' 등으로 떨어져있는 문자들을 다시 연결시켜주는 함수다.
보통 Arrays처럼 배열로 결과를 확인하게 되면 공백이나 ','로 값이 구분되어 오답이 나오는 경우가 있는데,
그럴 때 위의 함수를 사용해보는것도 괜찮을 거 같다.
아래는 해답
package list;
import java.util.Arrays;
import java.util.Collections;
public class Programmers_AscNumber {
public static long solution(long n) {
// 결과를 출력할 long 변수
long answer = 0;
// 내림차순 작업을 할 String 배열
String[] parArr = ("" + n).split("");
// 배열 정렬 (오름차순)
Arrays.sort(parArr);
// 오름차순 정렬 완료 된 배열을 거꾸로
Collections.reverse(Arrays.asList(parArr));
// long 형 변수에 String.join 함수를 사용하여 혹여나 들어가 있을지도 모르는 공백 및 ',' 제거
answer = Long.parseLong(String.join("", parArr));
// 결과 출력
return answer;
}
public static void main(String[] args) {
// 파라미터
long result = solution(118372);
// 솔루션 값 출력
System.out.print(result);
}
}
끄읏! 오늘도 아주 알찼다.
워료일 좋아;
3페이지였던 프로그래머스 레벨1 코테연습페이지가 2페이지로 되기까지 얼마 안 남았다.
빠이팅~!
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Java 프로그래머스 레벨1 자연수 뒤집어 배열로 만들기 해답 (0) | 2021.09.11 |
---|---|
[Programmers] Java 프로그래머스 레벨1 나누어 떨어지는 숫자 배열 해답 (Arrays, ArrayList) (0) | 2021.09.07 |
[Programmers] Java 프로그래머스 레벨1 가운데 글자 가져오기 해답 (0) | 2021.09.05 |
[Programmers] Java 프로그래머스 레벨1 제일 작은 수 제거하기 해답 (0) | 2021.09.02 |
[Programmers] Java 프로그래머스 레벨1 배열의 평균구하기 (자바 평균 구하기) 해답 (0) | 2021.08.31 |