728x90
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXVyCaKugQDFAUo
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
< 📝 문제 >
양의 정수 N에 대해 N = X3가 되는 양의 정수X 를 구하여라.
< ❓ 생각 >
1. 세제곱 리스트를 만들어서 N이 그 안에 있으면 세제곱근 = 인덱스
2. 세제곱근을 구해서 정수인지 확인하기 -> 반올림했을 때 그대로면 정수
< 💻 코드 >
1.
# 1~10^18중 세제곱인거 리스트에 다 넣기
pow_3 = []
for i in range(10**6+1):
pow_3.append(pow(i,3))
# 테스트 케이스 개수
T = int(input())
for tc in range(1,T+1):
N = int(input())
# N이 pow_3함수 안에 있으면(세제곱) 인덱스 출력
# 없으면 -1 출력력
try:
print(f'#{tc} {pow_3.index(N)}')
except:
print(f'#{tc} {-1}')
2.
import math
T = int(input())
for tc in range(1, T+1):
num = int(input())
# 세제곱근
result = num**(1/3)
# 반올림
v = round(result)
# 세제곱근이 정수이면 반올림해도 같은 값
if math.isclose(result, v):
print(f'#{tc} {int(v)}')
else:
print(f'#{tc} -1')
728x90
반응형
'TIL - 프로그래밍 > Python 알고리즘' 카테고리의 다른 글
알고리즘 - 다익스트라 (0) | 2022.05.04 |
---|---|
[SWEA] 1238. Contact - Python (0) | 2022.04.21 |
[SWEA] 1232. 사칙연산 - Python (0) | 2022.04.11 |
[백준] 10026. 적록색약 - Python (0) | 2022.04.09 |
[SWEA] 5176. 이진탐색 - Python (0) | 2022.04.07 |
댓글