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 |
Tags
- Level2_PStage
- 알고리즘_스터디
- 파이썬 3
- 정렬
- 그리디
- 프로그래머스
- 최단경로
- 기술면접
- 백트랙킹
- 이진탐색
- 개인회고
- 다시보기
- Level2
- 단계별문제풀이
- ODQA
- 주간회고
- mrc
- 백준
- U_stage
- 이코테
- 그래프이론
- 알고리즘스터디
- 부스트캠프_AITech3기
- 다이나믹프로그래밍
- 부스트캠프_AITech_3기
- dp
- 구현
- python3
- dfs
- Level1
Archives
- Today
- Total
국문과 유목민
36. 예산 본문
0. 문제
링크) https://programmers.co.kr/learn/courses/30/lessons/12982
1. 알고리즘 계획
- 개수를 저장할 변수(count)를 하나 생성한다.
- for문을 돌면서, 예산에서 해당되는 부서를 찾으면 예산에서 값을 빼고, count를 증가시킨다.
- '부서의 필요한 금액 리스트'를 돌 때 값을 정렬시켜주면 코드를 효율적으로 돌 수 있다.
2. 나의 코드
def solution(d, budget):
count = 0
for i in sorted(d):
if budget - i >= 0:
budget -= i
count += 1
return count
- 처음에 '정렬'을 하지 않고 코드를 작성해 잠깐의 오류가 있었다.
3. 다른 사람의 코드
def solution(d, budget):
d.sort()
while budget < sum(d):
d.pop()
return len(d)
- 재밌게 풀었다고 생각한다.
- while문을 돌며 d의 값을 하나씩 빼면서, d의 합을 budget과 비교 한다.
- 이 경우에서 sum(d)의 값이 budget값보다 낮아진다는 뜻 == 예산으로 d의 모든 값들을 해결할 수 있다가 된다.
4. 정리 및 리뷰
- 뭔가 내 코드가 교과서적으로 풀었다는 느낌이었다면, 다른 사람의 코드는 자료형의 특성과 함수에 대해서 잘 이해하고, 사용해본 것 같다는 느낌을 받았다.
코드 만족도: ★★★★☆
'알고리즘_코딩테스트 > 프로그래머스_Level1' 카테고리의 다른 글
38. 실패율 (0) | 2020.09.12 |
---|---|
37. 비밀지도 찾기 (0) | 2020.09.12 |
35. 별 찍기 (0) | 2020.09.12 |
34. X만큼 간격이 있는 n개의 숫자 (0) | 2020.09.12 |
33. 행렬의 덧셈 (0) | 2020.09.12 |
Comments