728x90
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
풀이
using System;
public class Solution {
public long solution(long n) {
long answer = 0;
char[] a = n.ToString().ToCharArray();
//Sort()로 정렬 후, Reverse()로 뒤집어주기
Array.Sort(a);
Array.Reverse(a);
answer = long.Parse(new string(a));
return answer;
}
}
Array.Sort()로 정렬해주기 위해서 long타입을 string 타입(문자열)으로 변환 후 다시 char 배열(단일 문자)로 만들어준다.
char 배열을 Array.Sort()로 오름차순으로 정렬해주고, Array.Reverse()로 순서를 뒤집어준다.
그 후 long.Parse()를 이용해 long타입으로 변환하기 위해 먼저 배열을 string 타입(문자열)으로 재구성해주고,
long.Parse()를 사용해 다시 long타입으로 변환해준다.
Array.Sort() : 배열을 오름차순으로 정렬
Arrat.Reverse() : 배열의 순서를 뒤집어줌
long.Parse() : string 타입을 long 타입으로 변환
(단, 인수는 string만 받음)
다른 사람 풀이)
public class Solution {
public long solution(long n) {
long answer = 0;
char[] a = n.ToString().ToCharArray();
System.Array.Sort(a);
System.Array.Reverse(a);
answer = System.Convert.ToInt64(new string(a));
return answer;
}
}
마지막에 system.Convert.ToInt64()를 이용하여 string -> long 으로 변환할 수도 있다.
(주의, int - ToInt32() / long - ToInt64() )
'공부 > 코딩테스트' 카테고리의 다른 글
프로그래머스/C# - 짝수와 홀수 (0) | 2024.05.29 |
---|---|
프로그래머스/C# - 정수 제곱근 판별 (0) | 2024.05.23 |
프로그래머스/C# - 자연수 뒤집어 배열로 만들기 (0) | 2024.05.21 |
프로그래머스/C# - 핸드폰 번호 가리기 (0) | 2024.05.17 |
프로그래머스/C# - 자릿수 더하기 (0) | 2024.04.15 |