Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- useState
- sql
- 장고이미지처리
- 장고 다중이미지
- html
- GIT
- jquery
- 파이썬
- SEF2022
- 무료강의
- React
- error
- 반응형
- 프론트엔드
- 프로그래머스
- css
- 파이썬무료강의
- 개인정보수집유효기간
- 스파르타코딩클럽
- 22938번
- 코딩기초트레이닝
- 20492번
- MongoDB
- 네이버커넥트재단
- 프로그래머스입문
- 스파르타
- django multi image
- ㅐㄱ이
- python
- 참가후기
Archives
- Today
- Total
코딩,해볼까
05.03. 문자열과 리스트 자료형 / 프로그래머스 전국 대회 선발 고사 본문
0. 오늘 배운 것
enumerate는 index와 요소를 둘 다 받아올 수 있다.
.replace(대신하고싶은 것)
zip() : 길이가 같은 리스트를 엮어준다.
dict() : 딕셔너리 형태로 만든다.
for문 사용 시 리스트, 딕셔너리 이름.items() 를 해주면 key 와 value 를 가져올 수 있다.
1. 문제점
프로그래머스 코딩 기초 트레이닝 전국 대회 선발 고사
문제 풀이 실패
2. 시행착오
- 코드의 큰 틀을 계획
- rank의 idx와 attendance의 idx 매치
- false는 모두 제외한 후 idx를 1=a,2=b,3=c 로 가져와서 수식에 넣어준다. - 계획 1) rank와 attendance 를 key, value로 넣어본다. { rank : attendance }
- 계획 2) enumerate 함수는 인덱스를 보여주니까 같이 활용하면 좋겠다.
- 계획 3) 리스트를 붙여서 시도해본다. [rank, attendance] / [rank], [attendance] / [ [rank], [attendance] ]
- 계획 4) 리스트에서 false인 것들을 삭제하더라도 그 인덱스를 가지고 있어야 하므로 .replace(' ') 로 공백을 넣어둔다.
- 계획 5) .replace(' ') 의 작동방법을 확실하게 몰라서인지.. 원하는 값을 얻지 못하고 del로 다시 시도해봤다.
def solution(rank, attendance):
answer = []
answer_idx = []
print(answer, answer_idx)
ra_dict = dict(zip(rank, attendance))
for idx , i in enumerate(ra_dict.items()):
print(idx, i)
if i[1] == True:
answer.append(i)
answer_idx.append(idx)
print(attend_list)
if len(attend_list) == 3:
break
return 10000* attend_list[0] + 100*attend_list[1] + attend_list[2]
모든 시도들이 결국에는 등수에 맞는 인덱스를 가져와야 하는 부분에서 막혔다.
3. 해결방법
모든 방법을 실패하고, 처음부터 계획도 다시 세워서 시도했으나 실패했다.
# rank = [3,7,2,5,4,5,1] (등수)
# attendance = [false, true, true, true, true, false, false]
# 0 1 2 3 4 5 6 (번호 = idx)
# 참석할 수 있는 등수 친구의 번호 구하기.
# 1. 등수와 번호를 합친다. = rank_idx
# 2. attendance를 참고하여 false인 친구를 등수와 번호에서 빼준다.
# 3. 남은 등수와 번호를 등수를 기준으로 정렬한다.
# 4. 순서대로 a b c 에 담아 식을 출력한다.
go = []
for i,r in enumerate(rank):
print(i,r)
if attendance[i] == True:
go += [r]
print(go)
4. 알게된 점
문자열과 자료형에 대한 공부가 많이 부족한 것 같다.
기본 문제를 같이 풀면 좋은데 시간이 없어서 걱정이다.
효율적인 학습 방법에 대해 상담해보기로 했다.
'Back > TIL' 카테고리의 다른 글
05.08. [술술술_project. 1] 프로젝트 회의, 세팅 / poetry / django-taggit / pylint (0) | 2023.05.08 |
---|---|
05.05. user model에서 custom user model로 admin 마이그레이션 시 오류 해결 방법 (0) | 2023.05.05 |
05.02. Object Oriented Programming / 객체 지향 특강 정리 (0) | 2023.05.02 |
05.01. 과제해설 / 문자열과 리스트 딕셔너리 뽀개기 [::] / 다양한 함수들 총집합! (2) | 2023.05.01 |
04.28. 2차원배열 / 강의시청 / 과제 (0) | 2023.04.28 |
Comments