250x250
반응형
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
- 정규식 연산
- JavaScript
- coalesce
- GROUPING
- searched case expression
- Node.js
- window 함수
- simple case expression
- 뷰
- 위코드
- ROLLUP
- SQL
- list multiplication
- 문법 차이
- sql 저장 모듈
- 기업 협업
- python
- git
- show graph characteristics
- dom
- MYSQL
- Oracle
- SQLD
- dense rank
- html
- 코드 스니펫
- execute immediate
- 정보처리기사
- 자료구조
- 비절차적 데이터 조작어
Archives
- Today
- Total
프로그래밍 숲
프로그래머스 python 버전(python math 라이브러리 lcm 안되는 문제) 본문
728x90
반응형
프로그래머스에서 최대공약수, 최소공배수 관련 문제를 풀던 도중에 이런 에러를 맞닥뜨렸습니다.
제가 작성한 코드
from math import gcd, lcm
def solution(n, m):
answer = []
answer.append(gcd(n, m))
answer.append(lcm(n, m))
return answer
발생 에러
Traceback (most recent call last):
File "/solution_test.py", line 6, in <module>
from solution import *
File "/solution.py", line 3, in <module>
from math import gcd, lcm
ImportError: cannot import name 'lcm' from 'math' (/usr/lib/python3.8/lib-dynload/math.cpython-38-x86_64-linux-gnu.so)
분명히 python 공식 문서를 보고 math 모듈의 lcm 함수가 있다는 것을 확인했는데, 무슨 이유에서인지 실행이 안 됐습니다. 에러 메시지를 살펴보니 위의 에러에서 python 버전이 3.8로 되어 있는 것을 확인할 수 있습니다.
하지만 python 공식문서를 살펴보니 math.lcm() 함수는 버전 3.9부터 추가되었다고 합니다. 이러한 이유로 프로그래머스에서는 math 모듈의 lcm 함수를 사용할 수 없던 것이었습니다.
하지만 gcd()함수는 버전 3.5부터 사용이 가능했기 때문에 gcd 함수만으로 다음과 같이 문제를 해결할 수 있었습니다.
from math import gcd
def solution(n, m):
answer = []
answer.append(gcd(n, m))
answer.append((n * m) / gcd(n, m))
return answer
728x90
반응형
'프로그래밍_정보공유 > tips' 카테고리의 다른 글
mac에 연결된 외장 모니터 밝기 조절하기 (0) | 2023.05.21 |
---|---|
티스토리 코드블럭 예쁘게 꾸미기 (0) | 2023.05.16 |
Comments