728x90
코드 힌트
첫 번째 접근 방식: 나머지 연산자를 활용해서 문제 풀기
- 숫자 n의 길이를 구하기
- 숫자 n을 문자열로 변환하여 그 길이를 구합니다.
- 결과 배열 생성
- 구한 길이만큼의 배열을 생성합니다.
- 숫자의 각 자리수를 배열에 저장하기
- for 루프를 사용하여 숫자의 각 자리수를 배열에 저장합니다.
- n % 10을 사용하여 현재 자리수를 구하고, n /= 10을 사용하여 다음 자리수로 이동합니다.
- 결과 배열 반환
- 최종적으로 결과 배열을 반환합니다.
두 번째 접근 방식: n을 문자열로 활용하여 문제 풀기
- 숫자 n을 문자열로 변환
- 숫자 n을 문자열로 변환합니다.
- 문자열 뒤집기
- 문자열을 뒤집기 위해 StringBuilder를 사용합니다.
- 문자열을 배열로 변환
- 뒤집은 문자열을 각 문자를 분리하여 문자열 배열에 저장합니다.
- 문자열 배열을 정수 배열로 변환
- 문자열 배열을 순회하며 각 문자를 정수로 변환하여 결과 배열에 저장합니다.
- 결과 배열 반환
- 최종적으로 결과 배열을 반환합니다.
정답은 더보기 클릭
더보기
1. 나머지 연산자
class Solution {
public int[] solution(Long n) {
// 숫자 n을 문자열로 변환한 후, 길이를 구하여 len에 저장
int len = Long.toString(n).length();
// 결과를 저장할 배열을 길이 len만큼 생성
int[] result = new int[len];
// 숫자의 각 자리수를 배열에 저장
for (int i = 0; i < len; i++) {
// 현재 자리수의 숫자를 result 배열에 저장
result[i] = (int) (n % 10);
// n을 10으로 나누어 다음 자리수로 이동
n /= 10;
}
// 결과 배열 반환
return result;
}
}
2. 문자열 StringBuilder 사용
class Solution {
public int[] solution(Long n) {
// 숫자 n을 문자열로 변환
String s = Long.toString(n);
// 문자열을 뒤집기 위해 StringBuilder 사용
StringBuilder sb = new StringBuilder(s);
// 문자열을 뒤집고 각 문자를 분리하여 문자열 배열에 저장
String[] strArr = sb.reverse().toString().split("");
// 결과를 저장할 정수 배열 생성
int[] result = new int[strArr.length];
// 문자열 배열을 순회하며 각 문자를 정수로 변환하여 결과 배열에 저장
for (int i = 0; i < strArr.length; i++) {
result[i] = Integer.parseInt(strArr[i]);
}
// 결과 배열 반환
return result;
}
}
728x90
'프로그래머스(Java) > Level 1' 카테고리의 다른 글
[프로그래머스] 콜라츠 추측 (0) | 2024.07.24 |
---|---|
[프로그래머스] 가장 많이 받은 선물 (0) | 2024.07.19 |
[프로그래머스] 자릿수 더하기 (1) | 2024.07.16 |
[프로그래머스] 문자열 내 p와 y의 개수 (3) | 2024.07.16 |
[프로그래머스] 신규 아이디 추천 (0) | 2024.07.12 |