본문 바로가기

알고리즘

(2)
programmers/다리를 지나는 트럭/c++ 문제 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr 이 문제의 핵심은 출발 시간입니다. '마지막 트럭의 출발시간 + (bridge_length / 1)'이 모든 트럭이 도착한 시간이 된다는 것을 빠르게 알아차리는게 중요합니다. 아래는 그것의 구현입니다. 더보기 #include #include #include using namespace std; int solution(int bridge_length, int weight, vector truck_weights) { int answer = 0;..
1300 - K번째 수 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. www.acmicpc.net 이 문제는 단계별로 풀어보기의 '이분탐색'에 포함된 문제이다. 굉장히 신기한 문제였기에 그만 구글링의 힘을 빌리고야만 문제다. 부끄럽지만 찬란한 제출 현황을 공개하면서 내가 구글링을 한 이유에 대해 조금이나마 변명해 보겠다. 알고리즘 이 문제에서 구하고자 하는 것은 'K번째 수'이다. 우리가 알 수 있는 것은 1~n*n까지의 값이 존재 할..