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
- 딥러닝
- 코딩테스트연습
- ABC Analysis
- pandas profiling
- SQL
- MySQL
- MS SQL Server
- ProfileReport
- Gaimification
- 코딩테스트
- eda
- TensorFlowGPU
- 신경쓰기의 기술
- 프로그래머스
- Inventory Optimization
- Product Demand
- Labor Management System
- SKU Consolidation
- leetcode
- forecast
- oracle
- tensorflow
- 웨어하우스 보관 최적화
- 피그마인디언
- ModelCheckPoint
- 당신의 인생이 왜 힘들지 않아야 한다고 생각하십니까
- 파이썬
- 데이터분석
- kaggle
- HackerRank
Archives
- Today
- Total
오늘도 배운다
정수 제곱근 판별 / 프로그래머스, 파이썬 코딩테스트 연습 연습문제 본문
문제
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
제출답안
def solution(n):
# 제곱근
n_sqr = n**0.5
# Floor(제곱근)
x = int(n_sqr)
# 제곱근이 정수라면 x로 나누었을 때 0이 되어야하는 것을 이용
answer = (x+1)**2 if n_sqr % x == 0.0 else -1
return answer
제출 후 개선답안
정수일 경우 1로 나눴을 때 나머지가 0인 것을 이용
나머지가 0이 아니면 소수점이 있다는 뜻
def solution(n):
# 제곱근
n_sqr = n**0.5
# 제곱근이 정수라면 x로 나누었을 때 0이 되어야하는 것을 이용
answer = (n_sqr+1)**2 if n_sqr % 1 == 0.0 else -1
return answer
x = int(n_sqr)
위 코드 한 줄을 더 줄일 수 있게 됨
문제 바로가기
728x90
'코딩테스트연습(파이썬)' 카테고리의 다른 글
특정 문자 제거하기 / 프로그래머스, 파이썬 코딩테스트 연습코딩테스트 입문 (0) | 2022.11.21 |
---|---|
평균 구하기 / 프로그래머스, 파이썬 코딩테스트 연습 연습문제 (0) | 2022.11.21 |
하샤드 수 / 프로그래머스, 파이썬 코딩테스트 연습 연습문제 (0) | 2022.11.21 |
모음 제거 / 프로그래머스, 파이썬 코딩테스트 연습코딩테스트 입문 (0) | 2022.11.21 |
신규 아이디 추천 / 프로그래머스, 파이썬 코딩테스트 연습2021 KAKAO BLIND RECRUITMENT (0) | 2022.11.18 |
Comments