코딩 테스트 챌린지

[10월 코테 챌린지] 프로그래머스 :: 누적 370개 / (Lv0) 235개 (Lv1) 73개 (Lv2) 53개 (Lv3) 9개

  • -
728x90
반응형

2024/10/08

(Lv0) 235개 (Lv1) 73개 (Lv2) 53개 (Lv3) 9개 // 누적 370개


풀이한 문제

 

Lv2

  1. 다리를 지나는 트럭

문제 풀이

from collections import deque
def solution(bridge_length, weight, truck_weights):
    answer = 0
    moving = deque()
    truck_weights = deque(truck_weights)
    sum_moving = 0
    
    while truck_weights:
        l = truck_weights.popleft()
        
        if sum_moving+l <= weight:
            if len(moving) < bridge_length: #[10]+10 <= 100, len([10])<2
                sum_moving += l
                moving.append(l) #[7]
                answer += 1
            elif len(moving) == bridge_length: #[10,10]+10 <= 100, len([10,10])==2
                sum_moving -= moving.popleft()
                sum_moving += l
                moving.append(l)
                answer += 1 # 다리 지나감과 동시에 한 트럭 입장
        
        elif sum_moving+l > weight :
            if len(moving) < bridge_length: #[7]+4 > 10, len([7])<2
                for i in range(bridge_length-len(moving)):
                    moving.append(0)
                    answer += 1 #2

                while sum_moving+l > weight:
                    sum_moving -= moving.popleft() #[7,0] -> [7][0]
                    answer += 1
                sum_moving += l
                moving.append(l) #[0,4], 3
        
            elif len(moving) == bridge_length: #[7,2]+4 > 10, len([7,2])==2
                while sum_moving+l > weight:
                    sum_moving -= moving.popleft()
                    answer += 1
                    if sum_moving+l > weight:
                        moving.append(0)
                sum_moving += l
                moving.append(l)
    # return list(moving), answer

    if len(moving) >= bridge_length:
        answer += len(moving)
    else:
        answer += bridge_length

    return answer

테스트 문제 1개에서 에러가 나서.. 해결하지 못했다.. 도대체 왜 문제인것이냐ㅜ


미완성 문제

Lv2

  1. 다리를 지나는 트럭
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

코딩 코딩테스트 코테챌린지 코테 프로그래머스 취준생 알고리즘 

320x100
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.