다른 언어는 배워서 알고 있지만 파이썬은 처음 배우는 언어이다보니 많이 미숙한데 프로그래머스에서 이러한 프로그래머들을 위해 알기쉽게 해설한 강의가 있어서 추천겸 공부한 내용을 공유하고자 글을 쓰게 되었다.
programmers.co.kr/learn/courses/4008
해당 링크로 접속을하면 "파이썬을 파이썬답게"라는 강좌가 나온다. 해당 강좌를 토대로 공부한 내용이다.
*divmod라는 함수를 사용하기 전에 해당 강좌에서는 문제가 주어졌다.
문제 설명
숫자 a, b가 주어졌을 때 a를 b로 나눈 몫과 a를 b로 나눈 나머지를 공백으로 구분해 출력해보세요.
입력 설명
입력으로는 공백으로 구분된 숫자가 두 개 주어집니다.
첫 번째 숫자는 a를 나타내며, 두 번째 숫자는 b를 나타냅니다.
출력 설명
a를 b로 나눈 몫과 a를 b로 나눈 나머지를 공백으로 구분해 출력하세요.
제한 조건
a와 b는 자연수입니다.
입력 예
5 3
출력 예
1 2
나의 코드
a, b = map(int, input().strip().split(' '))
print(str(a//b) + " " +str(a%b))
대다수의 코드
a, b = map(int, input().strip().split(' '))
print(a//b, a%b)
모범답안
a, b = map(int, input().strip().split(' '))
print(*divmod(a,b) )
알게 된 내용
- print할 때 변수의 값을 나열 할 경우에는 ,의 형태로 나열하면 쉽게 표기할 수 있다. ex) print(a,b,c)
- *divmod 라는 함수를 통해 나눈값과 나머지 값을 동시에 표기할 수 있다.
추가로, 나눈 값과 나머지를 구할 때 무조건 divmod를 사용하는게 좋은 방법은 아니다.
가독성이나, 코드 스타일에 따라서 a//b, a%b 를 사용하는게 더 좋은 점도 있을 뿐더러
divmod의 경우에는 작은 숫자를 다룰때에는 a//b, a%b 보다 느리다.
때문에 상황에 따라서 조리있게 사용하는 것을 추천한다. (참고: Stack Overflow)
참고: programmers.co.kr/learn/courses/4008
stackoverflow.com/questions/30079879/is-divmod-faster-than-using-the-and-operators
'Programming > Python' 카테고리의 다른 글
[Python] IPython 키보드 단축키 및 매직 명령어 (0) | 2021.01.18 |
---|---|
[Python] 파이썬의 기본 명령어 및 기능 (0) | 2021.01.18 |
[Python] 파이썬 2와 파이썬 3의 차이점 (0) | 2021.01.15 |
[Python] 왜 파이썬을 사용하는가? (0) | 2021.01.15 |