[programmers] 프로그래머스 Level1 자연수 뒤집어 배열로 만들기
(파이썬 Python)
* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.
프로그래머스 Level1 자연수 뒤집어 배열로 만들기
1) 문제
2) 풀이 과정
1. 첫번째 12345의 예시로 각각을 리스트로 풀면 좋을것 같다라는 생각을 했다.
2. 리스트의 크기만큼 받아서 i값 지정
3. 값을 정수로 변환하여 nList에 저장
4. reverse()로 뒤집기
참고 : sort(reverse=True) 가 아니다. 이 문제는 내림차순이 아님 그냥 뒤집기임
3) 코드
Solution 1)
1
2
3
4
5
6
7
8
9
10
|
def solution(n):
answer = []
nList = list(str(n))
for i in range(len(nList)):
nList[i] = int(nList[i])
nList.reverse()
return nList
|
cs |
Solution 2)
1
2
3
4
5
6
7
8
|
def solution(n):
answer = []
for i in str(n):
answer.append(int(i))
answer.reverse()
return answer
|
cs |
4) 정리 노트
제일 쉬운문제인데 시간을 엄청 잡아먹음.
전체 기초틀을 다시 잡아야 겠다는 생각이 든다.
< 전체 구조>
1) for i in range()
ㄴ for i in range(a, b)
ㄴ for i in range(a, b, 증감)
2) for i in [문자열,리스트,튜플]:
5) 사고 과정
1)
1
2
3
4
5
|
n = 12345
print(n)
# 출력
# 12345
|
cs |
2) 오류 발생
1
2
3
4
5
6
7
8
9
10
11
12
13
|
n = 12345
n = list(n)
print(n)
# 오류 발생
# ---------------------------------------------------------------------------
# TypeError Traceback (most recent call last)
# <ipython-input-50-ca33d8bd74d6> in <module>
# 1 n = 12345
# ----> 2 n = list(n)
# 3 print(n)
# TypeError: 'int' object is not iterable
|
cs |
3) 2번에서 int가 반복 객체로 적합하지 않는다고 했으니 그럼 문자겠네? 같은 1이여도 숫자1과 문자1은 다르니까
1
2
3
4
5
6
|
n = 12345
n = list(str(n))
print(n)
# 출력
# ['1', '2', '3', '4', '5'
|
cs |
4)
1
2
3
4
5
6
7
8
9
10
11
12
|
n = 12345
n = list(str(n))
for i in range(len(n)):
print(i)
# 출력
# 0
# 1
# 2
# 3
# 4
|
cs |
5)
1
2
3
4
5
6
7
8
9
10
11
|
n = 12345
for i in str(n):
print(i)
# 출력
# 1
# 2
# 3
# 4
# 5
|
cs |
'*Algorithm > Programmers_Level1' 카테고리의 다른 글
[programmers] 프로그래머스 Level1 정수 내림차순으로 배치하기(파이썬 Python) (0) | 2020.09.01 |
---|---|
[programmers] 프로그래머스 Level1 핸드폰 번호 가리기(파이썬 Python) (0) | 2020.09.01 |
[programmers] 프로그래머스 Level1 자릿수 더하기(파이썬 Python 자바 Java) (0) | 2020.08.31 |
[programmers] 프로그래머스 Level1 완주하지 못한 선수(파이썬 Python) (0) | 2020.08.31 |
[programmers] 프로그래머스 Level1 문자열 내 p와 y의 개수(파이썬 Python) (0) | 2020.08.31 |
댓글