링크 : https://www.acmicpc.net/problem/2979
2979번: 트럭 주차
첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장
www.acmicpc.net
- 문제
- 소요시간: 14분 14초



- 설계하기(접근방법)
1. 조건 파악하기
주차 요금
1대 : a원
2대 : b원
3대 : c원
-> 각 중첩된 시간을 조사해서
차가 1대 있는 시간은 a원, 2대 있는 시간은 b원, 3대 있는 시간은 c원이다
2. 구현
시간이 1~ 6 분이라고 하면
리스트에 2,3,4,5,6을 추가한다
그 뒤는 3 ~ 5이니 4,5를 추가한다
그 뒤는 2 ~ 8 이니 3,4,5,6,7,8 을 추가 한다
리스트 내의 숫자를 1 ~ 100까지 검사하고
숫자의 갯수만큼 요금_스택에 추가해준다.
요금 스택의 개수가
1이면 a
2이면 b
3이면 c
를 요금으로 하여 차의 대수만큼 곱해주고, 그것을 요금에 추가해준다
요금을 출력한다.
- 코드(출력)
a, b, c = map(int, input().split())
cost_list = []
cost = 0
for i in range(3):
start, end = map(int, input().split())
for j in range(start, end):
cost_list.append(j)
for i in range(1, 101):
cost_stack = 0
for j in cost_list:
if j == i:
cost_stack += 1
if cost_stack == 1:
cost += a
elif cost_stack == 2:
cost += b * 2
elif cost_stack == 3:
cost += c * 3
print(cost)
- 얻어갈 부분
1. 이중 for문 내에서 바깥쪽의 for문 변수를 잘못 써서 test가 틀렸다
2. cost를 더해줄 때 cost의 개수만큼 곱해서 더해주어여 하는데 1개만 더해줘서 답이 틀렸다.
'알고리즘(백준) > 구현' 카테고리의 다른 글
| [알고리즘/구현] 10431번 : 줄세우기 - python (0) | 2023.12.26 |
|---|---|
| [알고리즘/구현] 11723번 : 집합 - python (1) | 2023.12.26 |
| [알고리즘/구현] 18311번 : 왕복 - python (1) | 2023.12.20 |
| [알고리즘/구현] 16926번 : 배열 돌리기 - python (0) | 2023.05.09 |
| [알고리즘/구현] 2615번 : 오목 - python (0) | 2023.05.02 |