[프로그래머스]자연수 뒤집어 배열로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/12932
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제

2. 풀이
1) 자연수 n을 String으로 변환하여 풀기
- String.valueOf을 활용하여 자연수를 문자열로 변경 후 charAt()을 활용하여 answer 배열에 더해줍니다.
*소스코드
|
1
2
3
4
5
6
7
8
9
10
11
12
|
class Solution {
public int[] solution(long n) {
String s = String.valueOf(n);
int[] answer = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
answer[s.length() - i - 1] = s.charAt(i) - '0';
}
return answer;
}
}
|
cs |
2) list를 활용하여 풀기
- n % 10 : n의 일의 자리 확인
- n / 10 : n의 일의자리가 제거됨과 동시에 십의 자리가 일의 자리가 되는 것을 확인
- n이 0이 될 때까지 반복하며 n을 뒤에서부터 한 자리씩 리스트에 저장
- 리스트의 내용을 answer 배열로 넣어 return
*소스코드
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class Solution {
public int[] solution(long n) {
List<Integer> list = new ArrayList<>();
while (n != 0) {
list.add((int)(n % 10)); // n % 10 => n의 1의 자리수
n /= 10; // n의 1의 자리가 제거되가 십의 자리가 일의 자리가 됨
}
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
|
cs |
3. 느낀 점 및 추가사항
자연수를 뒤집어서 출력한다는 내용을 이해하고 접근하면 쉽게 풀 수 있는 문제였다.
일반적으로 정수형 변수인 n을 String으로 변환하여 해결하지만 list로도 풀 수 있다는 것을 알았다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
| [프로그래머스]-최소 직사각형 (0) | 2022.12.28 |
|---|---|
| [프로그래머스]부족한 금액 계산하기 (0) | 2022.12.27 |
| [프로그래머스]2016년 (0) | 2022.12.23 |
| [프로그래머스]콜라츠 추측 (0) | 2022.12.13 |
| [프로그래머스]가운데 글자 가져오기 (0) | 2022.12.08 |
댓글
이 글 공유하기
다른 글
-
[프로그래머스]부족한 금액 계산하기
[프로그래머스]부족한 금액 계산하기
2022.12.27 -
[프로그래머스]2016년
[프로그래머스]2016년
2022.12.23 -
[프로그래머스]콜라츠 추측
[프로그래머스]콜라츠 추측
2022.12.13 -
[프로그래머스]가운데 글자 가져오기
[프로그래머스]가운데 글자 가져오기
2022.12.08