Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 도커
- viewsets
- flask
- SQL
- 코딩테스트
- 파이썬
- Wil
- NoSQL
- redis
- nginx
- 장고
- Til
- 아티클 스터디
- Doker
- 쿠키(cookie)
- CS
- 오블완
- JWT
- docker
- web
- git
- 자료구조
- ERD
- django
- github
- 티스토리챌린지
- 개발공부
- Python
- 세션(Session)
- 연습
Archives
- Today
- Total
SteadyDrills
[TIL] 코딩 테스트: 몫구하기 본문
20240522
코딩 테스트: 몫 구하기
문제: 정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성
제한사항
- 0 < num1 ≤ 100
- 0 < num2 ≤ 100
def solution(num1, num2):
if 0<=num1<=100 and 0<=num2<=100:
answer = num1 / num2
return answer
else: return
위 문제에 내가 쓴 답이다. 실행해 보고 더 궁금한 게 생겼다. 예를 들어 num1을 20, num2를 3이라고 하면, 6.666666666666667로 나오는데 정수값만 필요하면 어떻게 코딩을 해야 할까?
def solution(num1, num2):
if 0<=num1<=100 and 0<=num2<=100:
answer = int(num1 / num2)
return answer
else: return
강의에서 배운 int 문법을 쓰면 정수값인 6만 나온다. 구글링을 통해 더 찾아보니까 '//'연산자를 넣으면 정수로만 값이 나온다.
그런데 값이 6.666666666666667인데 6이면 꽤 차이가 나는 거 같아서 다른 방법도 찾아봤다.
result = 20 / 3
rounded_result = round(result, 3)
round 함수다. round(a, b)로 사용되는데 'a'는 반올림할 숫자, 'b'는 반올림할 소수점 자릿수이다, 위에 코드대로 실행하면 6.667이 나온다.
오늘 공부한 것 중에 제일 '새롭다'라고 생각한 건 '//'인 거 같다 다른 함수가 없어도 연산자 만으로 편한 코딩을 할 수 있다는 점과 실제로 정수값만 필요하다면 쓰기도 편하고 보기에도 간결해서 좋은 거 같다.
'PYTHON' 카테고리의 다른 글
[TIL]코딩테스트: 짝수의 합 (0) | 2024.05.29 |
---|---|
[TIL]Lv2. 스파르타 자판기 (0) | 2024.05.28 |
[TIL]Lv1. 랜덤 닉네임 생성기 (0) | 2024.05.26 |
[TIL]홀 수 짝수 판별기 (0) | 2024.05.24 |
[TIL] Python 과 Python 프레임 워크 (0) | 2024.05.22 |