파이썬 404

[baekjoon] 백준 10162번(파이썬): 전자레인지

문제 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net - 3개의 시간 조절용 버튼 A B C가 달린 전자레인지가 있다. - 버튼 A, B, C에 지정된 시간은 각각 5분, 1분, 10초이다. - 냉동음식마다 전자레인지로 요리해야 할 시간 T가 초단위로 표시되어 있다. - 우리는 A, B, C 3개의 버튼을 적절히 눌러서 그 시간의 합이 정확히 T초가 되도록 해야 한다. - 단 버튼 A, B, C를 누른 횟수의 합은 항상 최소가 되어야 한다. 이것을 최소 버튼 조작이라고 한다. - 만일 요리시간이 100..

CodingTest/Baekjoon 2021.05.23

[baekjoon] 백준 11047번(파이썬): 동전 0

문제 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net - 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. - 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. - 이때 필요한 동전 개수의 최솟값을 구하는 문제이다. - N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) - 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 ..

CodingTest/Baekjoon 2021.05.23

[baekjoon] 백준 11399번(파이썬): ATM

문제 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net - 지금 ATM 앞에 N명의 사람들이 줄을 서있다. - 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 P(i)분이다. - 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. - 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분 만에 돈을 뽑을 수 있다. 2번 사람은 1번..

CodingTest/Baekjoon 2021.05.23

[baekjoon] 백준 13305번(파이썬): 주유소

문제 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net - 어떤 나라에 N개의 도시가 있다. - 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. - 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. - 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. - 기름통의 크기는 무제한이어서 얼마든지 많은 기름을 넣을 수 있다. - 도로를 이용하여 이동할 때 1km마다 1리터의 기름을 사용한다. -..

CodingTest/Baekjoon 2021.05.23

[baekjoon] 백준 1715번(파이썬): 카드 정렬하기

문제 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net - 정렬된 두 묶음의 숫자 카드가 있다. - 각 묶음의 카드의 수를 A, B라 하면 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. - 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요하다. - 매우 많은 숫자 카드 묶음이 책상 위에 놓여 있다. 고르는 순서에 따라서 비교 횟수가 매우 달라진다. - 예를 들어 10장, 20장, 40장의 묶음이 있다면 10장과 20장을 합친 뒤..

CodingTest/Baekjoon 2021.05.23

[baekjoon] 백준 1744번(파이썬): 수 묶기

문제 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net - 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. - 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. - 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. - 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. - 수열의 모든 수는 단 한 번만 묶거나, 아니면 묶지 않아야 한다. - 수열이 주어졌을 때, 수열의 각 수를 적절히 묶었을 때, 그 합의 ..

CodingTest/Baekjoon 2021.05.23

[baekjoon] 백준 1931번(파이썬): 회의실 배정

문제 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net - 회의실에 최대한 많은 회의를 배정하는 문제이다. - 배정된 회의는 서로 겹치지 않아야 한다. - 두 회의의 시작시간과 종료시간은 겹쳐도 된다. - 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. - 시작 시간과 끝나는 시간은 2^31-1보다 작거나 같은 자연수 또는 0이다. 알고리즘 - 회의 수를 입력받는다. - 반복문을 통해 회의의 시작시간과 종료시간을 입력받는다. - 회의 시작시간 기준으로 정렬하고 회의 종료시간 기준으로 다시 정렬한다. - 반복문을 통해 회의 시작시간과 종료시간을 비교한다. - 이때, 시작시간이 종료시간보다 크거나 같으면 회의를 배정한다...

CodingTest/Baekjoon 2021.05.22

[baekjoon] 백준 1946번(파이썬): 신입 사원

문제 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net - 신규 사원 채용은 1차 서류심사, 2차 면접시험으로 이루어져 있다. - 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. - 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다. - 위 조건을 만족시키면서, 신규 사원 채용에서 선발할 수..

CodingTest/Baekjoon 2021.05.22

[baekjoon] 백준 2437번(파이썬): 저울

문제 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net - 하나의 양팔 저울을 이용하여 물건의 무게를 측정한다. - 무게가 양의 정수인 N개의 저울추가 있다. - 저울추를 사용하여 측정할 수 없는 양의 정수 무게 중 최솟값을 구하는 문제이다. - 예를 들어, 무게각 각각 3, 1, 6, 2, 7, 30, 1인 7개의 저울추가 주어졌을 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값은 21이다. - N은 1 이상 1,000 이하이다. - 각 추의 무게는 1 이상 1,000,000 이하이다. 알고리즘 - 저울추의 ..

CodingTest/Baekjoon 2021.05.21

[baekjoon] 백준 2839번(파이썬): 설탕 배달

문제 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net - 설탕은 3킬로그램 봉지와 5킬로그램 봉지가 있다. - 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지의 최소 개수를 구하는 문제이다. - 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 봉지 3개와 3킬로그램 봉지 1개를 배달해 총 4개를 가져갈 수 있다. - N킬로그램일때 3 ≤ N ≤ 5000인 정수이다. - 만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다. 알고리즘 - 우선적으로 5킬로그램 ..

CodingTest/Baekjoon 2021.05.20