티스토리 뷰

반응형

Using Language : Java
Using Tool : Eclipse


  • 프로그래머스 문제 소개

< 정수 내림차순으로 배치하기 >

문제 설명

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

제한 조건

  • n은 1이상 8000000000 이하인 자연수입니다.

예시

	n 			return 
	118372 	873211

의사코드

  1. n의 길이를 구해준다
  2. n의 길이만큼 String 배열을 만들어서 long형인 n을 한글자씩 넣어준다
  3. 내림차순하는 함수를 이용해서 String 배열을 내림차순 정렬을한다
  4. String을 선언해서 내림차순한 배열을 순서대로 String에 넣어준다
  5. 스트링을 Long형으로 반환해서 return

<Solution17.java>

package level1;

import java.util.Arrays;
import java.util.Collections;

public class Solution17 {

	public long solution(long n) {
	      long answer = 0;
	      int len = Long.toString(n).split("").length;
	      
	      String[] array = new String[len];
	      array= Long.toString(n).split("");
	      
	      String tmp="";
	      
	      // 오름차순 정렬이 아닌 내림차순 정렬법
	      Arrays.sort(array, Collections.reverseOrder());
		
	      for(int i=0;i<len;i++) {
		      tmp+=(long) Integer.parseInt(array[i]);
	      }
	      
	      answer=Long.parseLong(tmp);
	      return answer;
	  }
}

<Solution17Test.java>

package level1;

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.Test;

public class Solution17Test {
	
	@Test
	public void 결과() {
		Solution17 solution = new Solution17();
		assertEquals(873211, solution.solution(118372));
		
	}
}

 

github에서 코드 확인하기

 

udud0510/CodeKata

프로그래머스 문제풀이. Contribute to udud0510/CodeKata development by creating an account on GitHub.

github.com

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
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 29 30 31
글 보관함