프로그래머스_다리를 지나는 트럭 JAVA

2025. 1. 30. 19:37·알고리즘/알고리즘 풀이
반응형

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr



이번 문제는 ‘다리를 지나는 트럭’이다.
처음 푸는 문제라 과거 코드는 없다.
스택과 큐 휴휴 많이 안써봐서 잘 풀릴지 모르겠다
그래도 일단 도전!


코드

import java.util.*;
class Solution {
    public int solution(int bridge_length, int weight, int[] truck_weights) {
        Queue<Integer> bridge = new LinkedList<>();
        int currentWeight = 0;
        int time = 0;           
        int index = 0;          

        for(int i = 0; i < bridge_length; i++) {
            bridge.offer(0);
        }

        while(!bridge.isEmpty()) {
            time++;

            currentWeight -= bridge.poll();

            if(index < truck_weights.length) {
                if(currentWeight + truck_weights[index] <= weight) {
                    bridge.offer(truck_weights[index]);
                    currentWeight += truck_weights[index];
                    index++;
                }
                else {
                    bridge.offer(0);
                }
            }
        }
        return time;
    }
}

열심히 풀어보다가 1번 테케는 통과했는데 2번부터 만신창이길래 뭐지하고 봤는데

아.. 지문이 헷갈릴만한 요소들이 많아서 제대로 풀리지가 않았던 거였다.

bridge_length가.. 다리에 올라가는 최대 트럭 갯수인 줄 알았는데........

진짜 다리의 길이를 나타내고, 트럭은 다리를 한 칸씩 움직일 수 있으며, 움직일 때마다 1초가 걸린다.

이런 내용이 지문에 하나도 없어 몇 시간을 삽질했다.

한 번 엉키기 시작하니 제대로 지문을 해석해도 코드로 안나와 답답해서 그냥 답을 봤다.

이번 코드의 핵심은 다리의 길이를 유지하고, 트럭들이 지나가는 부분을 어떻게 체크할 건지가 중점인 것 같다.

그래서 다리를 일단 0으로 채워넣고, 다리가 다 없어질 때까지 반복하면 총 시간을 잘 캐치할 수 있다.

이거랑 비슷한 문제 하나 더 풀어봐야지..

 

 

오늘도 즐거운 코딩..

반응형
저작자표시 비영리 변경금지 (새창열림)
'알고리즘/알고리즘 풀이' 카테고리의 다른 글
  • 프로그래머스_같은 숫자는 싫어 JAVA
  • 프로그래머스_프로세스 JAVA
  • 프로그래머스_올바른 괄호 JAVA
  • 프로그래머스_3진법 뒤집기 JAVA
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spring
    기출문제
    JPA
    방통대
    IT
    토비의스프링부트
    코딩테스트
    토이프로젝트
    QueryDSL
    자바스크립트
    개발자
    react
    인프런
    oracle
    SpringBoot를 이용한 RESTful Web Service 개발
    넥사크로
    스프링부트
    운영체제
    알고리즘
    프로그래머스
    egov
    springboot
    에러해결
    프론트엔드
    백준
    Java
    SQL
    MSA
    RESTful
    전자정부프레임워크
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
프로그래머스_다리를 지나는 트럭 JAVA
상단으로

티스토리툴바