Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ubuntu
- programmers
- 파이썬
- 캐치카페
- PYTHON
- 더현대서울 맛집
- Docker
- dacon
- github
- hackerrank
- 편스토랑 우승상품
- leetcode
- 맥북
- 프로그래머스
- 코로나19
- AI 경진대회
- 백준
- gs25
- 자연어처리
- ChatGPT
- 금융문자분석경진대회
- 프로그래머스 파이썬
- 데이콘
- Git
- Kaggle
- Baekjoon
- SW Expert Academy
- 편스토랑
- 우분투
- Real or Not? NLP with Disaster Tweets
Archives
- Today
- Total
솜씨좋은장씨
[SW_Expert_Academy] 5688번 세제곱근을 찾아라 (Python) 본문
728x90
반응형
코딩 1일 1문제 41일차!
작심 3일로 끝날것 같았던 문제 풀이가 41일차까지 왔습니다.
오늘의 문제는 세제곱근을 찾아라입니다.
이 문제는 입력 받은 수가 세제곱의 수면 세제곱근의 값을 출력하고 그렇지 않으면 -1을 출력하는 문제입니다.
Solution
loop_num = int(input())
pow3_dic = {}
for i in range(pow(10, 6) + 1):
pow3_dic[pow(i, 3)] = i
keys = pow3_dic.keys()
for i in range(loop_num):
input_num = int(input())
if input_num in keys:
print("#{} {}".format(i+1, pow3_dic[input_num]))
else:
print("#{} {}".format(i+1, -1))
Solution 풀이
먼저 입력받는 수의 값은 1부터 10^18 사이의 값입니다.
이 수의 세제곱근 값의 범위는 1부터 10^6 입니다.
이에 우리는 1부터 10^6까지 세제곱의 수를 만들어 그값을 key로 하고 해당 index의 값을 value로 하는 dictionary형태로 미리 저장한 후에
입력 받은 값이 dictionary의 key값에 들어있다면 value값을 출력하도록
그렇지 않으면 -1을 출력하도록 하였습니다.
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaeKJoon] 11726번: 2xn타일링 (Python) (0) | 2020.03.19 |
---|---|
실제 면접 코딩테스트 문제 (Python) (15) | 2020.03.18 |
[SW_Expert_Academy] 7701번 염라대왕의 이름 정렬 (Python) (0) | 2020.03.17 |
[HackerRank] Plus Minus (Python) (0) | 2020.03.16 |
[HackerRank] Diagonal Difference (Python) (0) | 2020.03.15 |
Comments