일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 개발/CS/알고리즘
- 개발/Java/Spring
- 개발/네트워크
- 개발/언어/Java
- 개발/Java
- 취업
- ⌨️Developer
- 개발/OOP
- electron
- ⌨️Developer/보안
- AI/GPT
- 개발/webrtc
- 개발/MySQL
- 카카오테크캠퍼스
- 개발/에러
- 개발/언어론
- 대외활동/카카오테크캠퍼스
- 개발/Electron
- AI/ML
- 개발/Tools/프레임워크/Spring
- 개발/CS/OS
- 개발/프레임워크&라이브러리
- 카테캠
- 개발/보안
- 알고리즘
- 카카오 테크 캠퍼스
- ai
- 개발/환경
- 개발
- 개발/컴퓨터네트워크
Archives
- Today
- Total
봄수의 연구실
CodingTest 감 살리기 with Programmers - 5일차 본문
CodingTest 감 살리기 with Programmers
- 코딩 테스트를 준비 하게 되어서, 기본적인 문법도 되짚고, 감을 되찾기 위해 시작합니다
가장 큰수
def solution(numbers):
numbers= list(map(str,numbers))
numbers.sort(key=lambda x :x*3,reverse=True)
return str(int(''.join(numbers)))
lambda x : x*3
을 하는 이유는 30,34,3을 정렬하면 34,3,30 이렇게 정렬이 되어야 하는데, 34,30,3 순으로 정렬이 된다.- 이 때 문자열로 변환한 문자열을 3번 곱해서 정렬하면 34,3,30으로 정렬이 된다
- 이 방법은 경험적으로 발견된 방법이라고 한다.
다리를 지나는 트럭
from collections import deque
def solution(bridge_length, weight, truck_weights):
answer = 0
current_weight = 0
trucks_on_bridge = [0] * bridge_length
truck_weights = deque(truck_weights)
while truck_weights or current_weight:
answer += 1
current_weight -= trucks_on_bridge.pop(0)
if truck_weights and current_weight + truck_weights[0] <= weight:
current_weight += truck_weights[0]
trucks_on_bridge.append(truck_weights.popleft())
else:
trucks_on_bridge.append(0)
return answer
728x90
'알고리즘 풀이' 카테고리의 다른 글
CodingTest 감 살리기 with Programmers - 7일차 (0) | 2023.03.15 |
---|---|
CodingTest 감 살리기 with Programmers - 6일차 (1) | 2023.03.14 |
CodingTest 감 살리기 with Programmers - 4일차 (0) | 2023.03.11 |
CodingTest 감 살리기 with Programmers - 3일차 (1) | 2023.03.03 |
CodingTest 감 살리기 with Programmers - 2일차 (0) | 2023.03.02 |