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 |
Tags
- Queue
- MongoDB
- OCR
- game
- Express
- class
- nestjs
- MySQL
- 정렬
- GIT
- 게임
- jest
- 자료구조
- AWS
- Bull
- cookie
- TypeScript
- 공룡게임
- react
- Python
- Nest.js
- mongoose
- JavaScript
- Sequelize
- dfs
- typeORM
- Dinosaur
- nodejs
- flask
Archives
- Today
- Total
포시코딩
[프로그래머스][Lv.0] 제곱수 판별하기 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이
def solution(n):
for x in range(n):
if x ** 2 == n:
return 1
if x ** 2 > n:
return 2
다른 풀이 A
def solution(n):
if n**(1/2) == int(n**(1/2)) :
return 1
else :
return 2
원래 이렇게 풀고 싶었는데
144 ** 1/2 # 72.0
자꾸 이렇게 결과가 나와서 다른 방법으로 풀게 되었는데
알고보니 144 ** 1이 먼저 계산된 후 2로 나누게 되서 그랬던 것이었다.
의도한대로 하려면
144 ** (1/2)
이렇게 됐어야 했다.
다른 풀이 B
def solution(n):
return 1 if (n ** 0.5).is_integer() else 2
굳이 (1/2)를 괄호로 감쌀 필요 없이 0.5를 쓰면 해결될 문제였다.
그리고 .is_integer() 함수를 통해 정수 여부를 판별함으로서 삼항연산자로 나타낸 풀이
728x90
'자료구조알고리즘 > 문제풀이' 카테고리의 다른 글
[프로그래머스][Lv.0] 개미 군단 (0) | 2022.12.31 |
---|---|
[프로그래머스][Lv.0] 순서쌍의 개수 (1) | 2022.12.28 |
[프로그래머스][Lv.0] 배열의 유사도 (0) | 2022.12.27 |
[프로그래머스][Lv.0] 피자 나눠 먹기 (3) (1) | 2022.12.27 |
[프로그래머스][Lv.0] 짝수 홀수 개수 (1) | 2022.12.27 |