일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드스튜디오
- D3
- androidstudio
- Github
- java
- git
- SWEA
- WebOS
- 파이썬
- level3
- 휴학
- py
- Python
- 컨트리뷰톤
- MSBuild
- 대학원
- 다시풀기
- BFS
- Matrix Factorization
- 자바
- 어렵다
- 내휴학생활중의아주큰일
- 대학원일기
- level4
- build
- level1
- 컴퓨터비전
- SQL
- 프로그래머스
- LEVEL2
Archives
- Today
- Total
bit가 눈 앞에서 왔다갔다
프로그래머스) 42748 본문
* 저는 알고리즘 엄청ㅇㅇ 초보라서 참고하기엔 그닥 공부는 안될 소스일거에요! 틀린 것도 많을거고.
def solution(array, commands):
answer = []
i = k = j = 0
for a in range(len(commands)): # 행의 크기만큼
i = commands[a][0]
j = commands[a][1]
k = commands[a][2]
arr2 = []
arr2 = sorted(array[i-1:j])
tmp = arr2[k-1] # 문제구간
# arr = array[i-1:j].sorted()
# tmp = arr[k-1]
answer.append(tmp)
return answer
처음에 저 주석처리된 저런 식으로 코드를 짰었다.
그랬더니 TypeError: 'NoneType' object is not subscriptable 이런 에러가 떴다.
sorted()를 잘못썼다. ㅇ...
추가적으로 저 에러에 대해서 공부했는데,
대부분 "변수에 return 값을 받고, 그 변수가 list 또는 넘파이어레이, dictionary일 것이라고 가정하고, 그 변수의 원소를 [ ] 로 접근(인덱스 값으로 접근) 하려 하는 상황" 에 많이 나타나는 에러라고 한다.
그리고 함수에서도 return할 게 없는 경우, 파이썬은 None을 return하는데 그 경우 저 에러가 뜬다고 함.
확인차 디버깅해봤다.
arr = array[i-1:j].sort()에서 당연히 에러가 떴음
sort()는 원본 리스트에 영향을 주면서 반환값이 없기 때문에 NoneType이 들어온다.
뭐 어쨌든 이런 저런 과정을 거쳐서 맞췄고
다른 사람 풀이 보니까 너무 충격적이었음
def solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
(간-단)
.....잘하고 싶다..
+
파이썬을 공부해본 적은 없고 알고리즘 풀 때 편하다길래 하는데,
풀 때마다 파이썬 언어를 잘 몰라서 만나는 에러들을 자꾸 본다.
이 정도면 파이썬 유튜브를 보던 책을 사던 제대로 좀 공부해야겠다^^-
그게 싫으면 c++해야지 뭐...
열심히 하장
*Ref
반응형
'Algorithm > Prob' 카테고리의 다른 글
Py) 프로그래머스 49189 (0) | 2021.12.31 |
---|---|
Py) 프로그래머스 42839 (0) | 2021.12.28 |
프로그래머스) 42586 (0) | 2021.09.03 |
이코테_BFS, DFS) Q19 연산자 끼워 넣기 (2) | 2021.08.19 |
7576 토마토 - 방법1 (0) | 2019.11.16 |
Comments