목차
반응형
학습 내용
알고리즘 문제 풀이
- 해시 : 완주하지 못한 선수
- 해시 테이블 = 키를 값에 매핑할 수 있는 자료 구조 - 탐욕법(Greedy) : 체육복, 큰 수 만들기
- 정렬 : 가장 큰 수
새로 알게 된 것
리스트의 일정 구간의 값을 변경하고 싶을 때 슬라이싱해서 해당 부분에 리스트로 값 할당하기
체육복 문제 中
#<체육복 빌려주기 처리> - 내가 짠 코드
for i in range(1, n+1):
if s[i-1]==0 and s[i]==2:
s[i-1]=1
s[i]=1
elif s[i+1]==0 and s[i]==2:
s[i+1]=1
s[i]=1
return len([x for x in s[1:-1] if x>0])
체육복을 빌려주는 코드를 작성할 때 나는 그냥 하나씩 값을 넣었다. 강의에서는 다른 코드를 작성했던 것 같은데 다른 방법이 생각나지 않았다.
풀이 코드를 보니까 해당 부분을 슬라이싱해서 리스트 형태로 값을 변경했다.
#<체육복 빌려주기 처리> - 풀이 코드
for i in range(1, n+1):
if s[i-1]==0 and s[i]==2:
s[i-1:i+1]=[1,1]
elif s[i+1]==0 and s[i]==2:
s[i:i+2]=[1,1]
return len([x for x in s[1:-1] if x>0])
느낀 점
해시, 그리디의 개념을 명확하게 알게 되었다.
알고리즘 풀 때마다 느끼는 거지만 간결하고 적절한 변수 이름을 짓는 게 어렵다.
반응형
'기록 > TIL' 카테고리의 다른 글
[TIL] 231025 - 데브코스 10일차 (0) | 2023.10.25 |
---|---|
[TIL] 231024 - 데브코스 9일차 (0) | 2023.10.24 |
[TIL] 231023 - 데브코스 8일차 (1) | 2023.10.23 |
[TIL] 231020 - 데브코스 5일차 (1) | 2023.10.20 |
[TIL] 231018 - 데브코스 3일차 (1) | 2023.10.18 |