일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- 스택/큐
- deque
- 매직 넘버
- 파이썬
- 프로그래머스
- 커리어
- permutations
- 가독성
- 중간 변수
- 함수
- enumerate
- min heap
- 힙
- 대소 비교
- 함수화
- 중첩
- John Sonmez
- 변수명
- 부등호
- 탈출 조건
- max-heap
- 코딩테스트
- 가이드
- ZIP
- 2020 채용
- 중첩문
- 조합
- 임시 변수
- boolean
- Today
- Total
목록임시 변수 (3)
Better Code, Better Life

문제 풀이 시험 문제는 최대 10000 문제입니다. 10000번째까지 수포자들의 답안을 작성합니다. 그리고 이 답안들을 정답과 비교하면 됩니다. 비교해서 맞춘 문제 갯수를 셉니다. 마지막으로 가장 높은 점수를 구해, 이 점수에 해당하는 수포자들의 번호를 기록합니다. 클린 코드 작성법 상수나 정해진 것은 위에 작성합니다. MAX_PROBLEM_NUM PARTICIPANT_ONE_PATTERN ... 임시 변수에 적절한 변수명을 붙여 해결하고자 하는 문제의 이해를 높입니다. for response, answer in zip(participant_response, answers) 문에서 두가지 임시 변수: response, answer 해답 코드 MAX_PROBLEM_NUM = 10000 PARTICIPANT..

문제 풀이 prices의 왼쪽 price 부터 반복적으로 가격이 떨어지지 않은 기간을 구합니다. 적절히 get_non_decreasing_days 함수만을 구현하면 됩니다. deque 자료구조를 통해 첫 번째 원소를 추출해내는 작업을 수월하게 할 수 있습니다. 프린터 문제 해설 에서 deque 설명을 참조하세요! 클린 코드 작성법 함수의 이름으로 동사를 이용합니다. get_non_decreasing_days 변수명을 실제 문제와 대응되게 짓습니다. non_decreasing_days for 문에서의 임시 변수 또한 i, j 보다 반복 대상을 잘 나타낼 수 있는 이름을 짓습니다. other_price 해답 코드 from collections import deque def get_non_decreasing_..

문제 풀이 먼저 기존의 인덱스가 몇번째 순서로 프린트 되는지 알아내야 하기 때문에 기존 인덱스를 묶어 저장합니다. 파이썬 리스트는 첫번째 원소를 빼낼 때(pop) 비용이 많이 듭니다. 따라서 이를 queue 자료 구조인 collections 의 deque를 이용합니다. 아래 링크를 보면 deque의 시간복잡도를 알 수 있습니다. 그 다음부터는 출력물이 어떤 순서로 뽑히는지 알아내는 로직을 세웁니다. 프린터 출력물 상단부터 제일 우선순위가 높은지 확인합니다. max_priority = get_max_priority(indexed_priority_deque) 맞으면 출력순서 리스트(print_order_list)에 저장합니다. 아니면 출력물 하단에 삽입합니다. 마지막으로 목표 출력물인 location이 몇 ..