목록Algorithm/백준 문제풀이 (2)
수리 공작소
문제 요약 : 전체 버스 N개가 있고, 그 중 창영이가 이용할 버스가 M개 입력으로 주어진다. 이 버스를 순서대로 탈 때, 들어가는 총 환승 비용으로 계산하는 문제이다. (전체 버스 간의 환승비용은 이차원 배열로 입력받는다.) #include using namespace std; int main() { int allBus = 0, useBus = 0, fee = 0;; // 모든 버스의 수, 창영이가 사용할 버스의 수, 총 환승 요금 cin >> allBus >> useBus; if (allBus 100 || useBus > allBus || useBus < 1) return 0; //조건 필터링 int* listUseBus = new int[useBus]; // 창영이가 사..
영어로 된 문제를 처음 풀어본다...! 영어로 쓰여져 있으면 괜히 더 어려워보인다. 사실은 복잡하지 않은 문제였다! 어쨋든 시작, 문제를 요약하자면 다음과 같이 벽돌은 몇개의 스택으로 나누어 쌓는다고 가정한다. 스택의 길이를 일정하게 유지하지 않고 쌓은 뒤, 최소한의 움직임으로 전체 스택의 길이를 맞추어주는 문제이다. 이때 개인적으로 생각했을 때 잊어버리지 말아야할 조건은 1. 위와 같은 형태를 한 세트라고 두었을 때, 입력은 여러 세트가 가능하다. 2. 0이 입력되었을 때 입력이 끝났음을 알 수 있다. (0에 대해선 계산을 돌지 않는다.) 3. 벽돌의 전체 수는 스택의 개수로 나누어 떨어진다. 즉, 남는 벽돌이 없다는 뜻이다. 다음은 코드이다. 먼저 각 세트의 최소 이동 벽돌 수를 구해주는 함수를 작성..