본문 바로가기

전체 글

(171)
[프로그래머스][Python] 다리를 지나는 트럭 입력은 3개가 주어진다. bridge_length : 다리에 올라갈 수 있는 트럭 수 weight : 다리가 견딜 수 있는 무게 truck_weights : 트럭별 무게 문제는 '모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는가?'이다. 아래처럼 이해하면 편하다. bridge_length는 다리의 길이이다. 다리의 길이가 N이라면, N대가 올라갈 수 있다. 그리고 1대만 지나가는데 N초가 걸린다. 그리고 다리에서 완전히 나가야지 건넜다고 할 수 있다. [7, 4, 5, 6]를 스택형태로 이동시켜보자. 0 : [x,x] [] (시작) 1 : [x,7] [] 2 : [7,x] [] 3 :[x,4] [7] 4 : [4,5] [7] 5 : [5,x] [4,7] 6 : [x,6] [5,4,7] 7 : [6,x]..
[대회][BOJ][INU 코드페스티벌 2020] D번 20365 : 블로그2 문제를 정리해 보자. 문제를 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한다. 각 문제를 칠할 때 아래와 같은 과정을 한 번의 작업으로 수행한다. 1. 연속된 임의의 문제들을 선택한다. 2. 선택된 문제들을 전부 원하는 같은 색으로 칠한다. 단순히 위에서 아래로 칠해보자. 횟수 번호 1 1,2 2 3 3 4 4 5 5 6,7 6 8 최소한의 작업 횟수로 수행해보자. 이를 구현해야 한다. 횟수 번호 1 1,2,3,4,5,6,7 2 3 3 5 4 8 어떻게 구현해야 할까? 아래 방법처럼 하면 된다. (아래는 다른 예시이다.) 연속된 동일 알파벳은 하나의 알파벳으로 본다. 즉, 중복을 제거한다. (중복이 제거되었기 때문에 R과 B가 교차로 있게 된다.) R의 개수와 B의 개수 중, 더 큰 것은 한 ..
[대회][BOJ][INU 코드페스티벌 2020] D번 20364 : 부동산 다툼 문제를 정리해보자. 1. 루트 땅의 번호는 1이다. 2. 어떤 땅의 번호가 K라면, 왼쪽 자식 땅의 번호는 2 x k, 오른쪽 자식 땅의 번호는 2 x (k + 1)이다. 1. 오리들은 한 줄로 대기시킨다. 맨 처음 오리들은 1번 땅에 있다. 2. 오리들이 서 있는 순서대로 원하는 땅을 가지도록 한다. 3. 오리가 원하는 땅까지 가는 길에 이미 다른 오리가 점유한 땅이 있다면 지나가지 못한다. 이 경우 처음 마주치는 점유된 땅의 번호를 출력한다. (지나가는 길에는 오리가 원하는 땅도 포함이다.) 4. 오리가 원하는 땅까지 간다면 0을 출력한다. 오리의 번호가 아래 식으로 루트 노드까지 간다. import sys input = sys.stdin.readline N, Q = map(int, input().s..