[프로그래머스] Java 코딩테스트 Lv.1 - 자연수 뒤집어 배열로 만들기

yihyun·2025년 4월 28일

코딩테스트

목록 보기
82/105
post-thumbnail

자연수 뒤집어 배열로 만들기

✅ 문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

✅ 제한사항

n은 10,000,000,000이하인 자연수입니다.

📌 문제 접근 방식

  1. 숫자 접근 : 메모리 초과로 실패
  2. String 으로 접근
  3. StringBuilderreverse() 사용

🔽 소스코드 1 (String 사용)

💻 풀이

  • n을 String으로 변환해준 후
  • 값을 담아줄 int배열을 선언해준다.
  • 이후 반복문을 사용해 문자열의 가장 뒤(int i = str.length() -1) 부터 배열에 담아준다.

시간 0.04ms ~ 0.05ms

	public int[] solution1(long n) {
		
		String str = String.valueOf(n);
		int[] arr = new int[str.length()];
		
		
		for(int i = str.length() -1, j = 0; i >= 0; i--, j++) {
			arr[j] = Integer.parseInt(String.valueOf(str.charAt(i)));
		}
		
		return arr;
	}

🔽 소스코드 2 (reverse() 사용)

💻 풀이

  • reverse()를 사용하기 위해 StringBuilder을 선언해준다,.
  • 이후 append()n을 넣고 reverse()로 뒤집어준다.

시간 0.08ms ~ 0.11ms

	public int[] solution2(long n) {
		
		StringBuilder sb = new StringBuilder();
		sb.append(n).reverse();
		
		int[] arr = new int[sb.length()];
		
		for(int i = 0; i < sb.length(); i++) {
			arr[i] = Integer.parseInt(String.valueOf(sb.charAt(i)));
		}
		
		return arr;
	}
profile
개발자가 되어보자

0개의 댓글