Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 백준
- Real or Not? NLP with Disaster Tweets
- 데이콘
- programmers
- Baekjoon
- 금융문자분석경진대회
- 코로나19
- Kaggle
- 편스토랑 우승상품
- 맥북
- ubuntu
- 프로그래머스 파이썬
- dacon
- 편스토랑
- Docker
- github
- 파이썬
- hackerrank
- 우분투
- SW Expert Academy
- ChatGPT
- 자연어처리
- Git
- 캐치카페
- 프로그래머스
- gs25
- leetcode
- AI 경진대회
- PYTHON
- 더현대서울 맛집
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 6763번 : Speed fines are not fine! (Python) 본문
Programming/코딩 1일 1문제
[BaekJoon] 6763번 : Speed fines are not fine! (Python)
솜씨좋은장씨 2022. 11. 16. 12:46728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 Speed fines are not fine! 입니다.
🧑🏻💻 문제 풀이
제한 속도와 현재 속도를 입력받았을때
현재 속도가 제한 속도를 위반하였는지
위반하였다면 내야하는 벌금은 얼마인지 구하는 단순 구현 문제입니다.
def check_is_over_speed(limit, curr_speed):
is_over_speed = False
over_speed = 0
if limit < curr_speed:
is_over_speed = True
over_speed = curr_speed - limit
return is_over_speed, over_speed
먼저 제한 속도를 위반하였는지 확인하는 함수를 하나 만들어주었습니다.
이 함수에 제한 속도와 현재 속도를 넣어주면
속도를 위반 하였는지 위반한 속도는 얼마나 되는지 구하여 return 합니다.
def calculate_fine(over_speed):
if 1 <= over_speed <= 20:
fine = 100
elif 21 <= over_speed <= 30:
fine = 270
elif 31 <= over_speed:
fine = 500
return fine
제한 속도보다 얼마나 위반하였는지 넣어주면 내야하는 요금은 얼마인지 구하는 함수를 만들어주었습니다.
def speed_fines_are_not_fine(limit, curr_speed):
answer = "Congratulations, you are within the speed limit!"
is_over_speed, over_speed = check_is_over_speed(
limit=limit, curr_speed=curr_speed
)
if is_over_speed:
fine = calculate_fine(
over_speed=over_speed
)
answer = f"You are speeding and your fine is ${fine}."
return answer
이 두 함수를 활용하여 정답을 출력하도록 하는 함수를 만들어주면 끝! 입니다.
전체 코드는 아래를 참고해주세요.
🧑🏻💻 코드 ( Solution )
def check_is_over_speed(limit, curr_speed):
is_over_speed = False
over_speed = 0
if limit < curr_speed:
is_over_speed = True
over_speed = curr_speed - limit
return is_over_speed, over_speed
def calculate_fine(over_speed):
if 1 <= over_speed <= 20:
fine = 100
elif 21 <= over_speed <= 30:
fine = 270
elif 31 <= over_speed:
fine = 500
return fine
def speed_fines_are_not_fine(limit, curr_speed):
answer = "Congratulations, you are within the speed limit!"
is_over_speed, over_speed = check_is_over_speed(
limit=limit, curr_speed=curr_speed
)
if is_over_speed:
fine = calculate_fine(
over_speed=over_speed
)
answer = f"You are speeding and your fine is ${fine}."
return answer
if __name__ == "__main__":
limit = int(input())
curr_speed = int(input())
print(speed_fines_are_not_fine(limit=limit, curr_speed=curr_speed))
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 21567번 : 숫자의 개수 2 (Python) (0) | 2022.11.18 |
---|---|
[BaekJoon] 9948번 : Have you had your birthday yet? (Python) (0) | 2022.11.17 |
[BaekJoon] 21612번 : Boiling Water (Python) (0) | 2022.11.15 |
[BaekJoon] 5928번 : Contest Timing (Python) (0) | 2022.11.14 |
[BaekJoon] 16099번 : Larger Sport Facility (Python) (0) | 2022.11.13 |
Comments