함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
n은 1이상 8000000000 이하인 자연수입니다.
using System;
using System.Linq;
public class Solution {
// solution 함수 정의
public long solution(long n) {
// 1. long 타입의 숫자를 문자열로 변환하고, 문자 배열로 변환
char[] arr = n.ToString().ToCharArray();
// 2. 문자 배열을 오름차순으로 정렬
Array.Sort(arr);
// 3. 정렬된 배열을 뒤집어서 내림차순으로 만듦
Array.Reverse(arr);
// 4. 문자 배열을 다시 문자열로 변환하고, 이를 long으로 변환
long answer = Convert.ToInt64(new string(arr));
// 5. 최종 결과 반환
return answer;
}
}
문자열로 변환
주어진 long 타입의 숫자를 문자열로 변환. 이는 숫자를 각 자리별로 분리하기 쉽게 하기 위한 작업.
문자 배열로 변환:
문자열로 변환된 숫자를 문자 배열로 변환. 문자 배열을 사용하면 각 자릿수를 쉽게 정렬할 수 있음.
문자 배열을 오름차순으로 정렬. 이 단계에서는 각 자릿수가 작은 값부터 큰 값 순서로 정렬.
내림차순으로 뒤집기:
오름차순으로 정렬된 문자 배열을 뒤집어서 내림차순으로 만듦. 이제 각 자릿수는 큰 값부터 작은 값 순서로 정렬됨.
문자열로 변환 후 다시 long으로 변환:
뒤집어진 문자 배열을 다시 문자열로 변환하고, 이 문자열을 Convert.ToInt64를 사용하여 long 타입으로 변환
6.결과 반환:
최종적으로 내림차순으로 정렬된 숫자가 담긴 long 타입의 변수를 반환
요약:
값형식은 해당 데이터를 직접적으로 스택메모리에 저장.
참조형식은 힙메모리에 데이터를 저장하며 스택 메모리에는 힙 메모리의 주소를 저장.
완전 이진 트리의 일종으로 우선순위 큐를 위해서 만들어진 자료 구조.
동적으로 메모리에 할당
힙 사용
값의 참조 주소 복사
null로 초기화
참조형은 에메랄드 색이다
데이터에서 최댓값과 최솟값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree)
맨위가 첫번재 그리고 아래로 뻗어나감.
힙(Heap)과 참조 형식 (reference type)
참조형식은 힙 영역에 데이터가 저장이 되고 스택 영역에는 데이터가 저장되어 있느 힙영역의 메모리의 주소를 저장
스택 영역에서 실제로 값을 가지고 있는게 아니라 힙영역의 데이터를 참조하고 있으므로 참조 형식이라고 함