프로젝트가 끝난 여파로... 아무 것도 안 하고 놀면서 하루를 보내버렸다...
밀린 TIL과 WIL을 정리해보려 했는데, 그마저도 안 해서 내일 학습을 열심히 하면서(!) 기록물도 채울 생각이다.
학습 내용
매번 헷갈리는 sort 와 sorted(Python)
sort(list)
: list 원본을 수정하지 않고, 정렬해서 print만 해준다..sorted()
: 해당 리스트의 값 자체를 정렬한다.- 풀이한 문제_프로그래머스_명예의 전당(1)
- 상위 k 번째 중, 매일 가장 낮은 점수를 리스트에 담아 출력해야 하는 문제.
- 빈 리스트 두 개를 만들어, 하나에는 새로 추가되는 점수를 이어 붙이면서 리스트 정렬 후 상위 k 번째만큼 자른 다음 최소값을 구해 answer라는 빈 리스트에 값을 계속 붙여나가는 구조로 코드를 작성함.
Python def solution(k, score): answer = [] podium = [] s = len(score) for i in range(0,s): podium.append(score[i]) podium.sort(reverse= True) podium = podium[0:k] answer.append(min(podium)) return answer
딕셔너리와 items() 메서드(Python)
- 파이썬 docs
items()
는 딕셔너리를 반복할 때, key와 value를 동시에 호출할 수 있게 하는 메서드이다.- cf) 리스트를 반복할 때, idx와 vlaue를 동시에 호출하는 경우에는
.enumerate(list_name)
을 쓴다. - 풀이한 문제_프로그래머스_숫자 문자열과 영단어 : 숫자-영단어로 표현된 숫자-숫자가 불규칙하게 뒤섞인 문자열 s에 대해, 영단어로 표현된 숫자를 integer로 대체하여 값 출력하기
- 영단어에 대해 숫자와 매치한 딕셔너리를 정의하고,
.replace()
메서드를 써서 값 대체 - replace는 "변경 전 값"과 "변경 후 값" 모두 string 을 변수로 받으므로, 정답 리턴할 때는 int()를 씌워주었다.
Python def solution(s): num_dict = {"zero" : 0 , "one" : 1 , "two" : 2 , "three" : 3 , "four" : 4 , "five" : 5 , "six" : 6 , "seven" : 7 , "eight" : 8 , "nine" : 9} for word, num in num_dict.items(): s = s.replace(word, str(num)) return int(s)
고찰 & 기타
- 오늘 하루 종일 학습 공간인 젭에서 최종 프로젝트를 함꼐하고 싶은 분들끼리 계속 미팅하는 모습이 보였다.
- 전체 인원의 20~30% 정도는 미리 함께하고 싶은 팀원에게 컨텍을 하고 계신 것 같아서 나도 이전에 프로젝트를 함께했던 예전 팀원들에게 팀 구성 의향을 여쭈어봤고, 긍정적인 답변을 들어 다행이었다.
- 나도 이제 파이썬을 어느 정도는 다루긴 하지만... 진짜 언어 잘 활용하는 분을 한 분만 더 영입하고 싶은데.... 아직 머신러닝 쪽은 이론적으로도, 코드로도 약한지라 고민이다.
- 최종 프로젝트에 활용은 물론, 지금 진행 중인 공모전에 관심이 있어서 살펴봤는데 Open API로 데이터를 받아오는 과정이 어디에나 있었다. 내일은 주어진 강좌(Spark) 학습과 함께 Open API 가져오는 법을 서치해보며 공부할 예정.
'내일배움캠프_데이터분석_2기 > TIL' 카테고리의 다른 글
[TIL] camp_day66_240718 (0) | 2024.07.18 |
---|---|
[TIL] camp_day64_240716 (0) | 2024.07.16 |
[TIL] camp_day62_240712 (0) | 2024.07.15 |
[TIL] camp_day61_240711 (0) | 2024.07.12 |
[TIL] camp_day57_240705 (0) | 2024.07.06 |