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 |
Tags
- gs25
- 데이콘
- 맥북
- 편스토랑 우승상품
- dacon
- ubuntu
- 백준
- Baekjoon
- github
- PYTHON
- Docker
- Git
- hackerrank
- 캐치카페
- 우분투
- 더현대서울 맛집
- Real or Not? NLP with Disaster Tweets
- 프로그래머스
- 자연어처리
- programmers
- 금융문자분석경진대회
- 프로그래머스 파이썬
- ChatGPT
- AI 경진대회
- 코로나19
- Kaggle
- SW Expert Academy
- 편스토랑
- leetcode
- 파이썬
Archives
- Today
- Total
솜씨좋은장씨
[SW_Expert_Academy] 5688번 세제곱근을 찾아라 (Python) 본문
728x90
반응형

코딩 1일 1문제 41일차!
작심 3일로 끝날것 같았던 문제 풀이가 41일차까지 왔습니다.
오늘의 문제는 세제곱근을 찾아라입니다.
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
이 문제는 입력 받은 수가 세제곱의 수면 세제곱근의 값을 출력하고 그렇지 않으면 -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을 출력하도록 하였습니다.
SOMJANG/CODINGTEST_PRACTICE
1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.
github.com
'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 |