- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 파이썬
- 프로그래머스
- 연결리스트
- python
- 안드로이드
- 컴퓨터공학과
- 자료구조
- oauth
- 코딩테스트
- 공유대학
- 구글 로그인
- 프로그래밍 입문
- 알고리즘
- Java
- firebase google
- Firebase
- C++
- sql
- til
- 정렬
- 배열
- 안드로이드 스튜디오
- 로그인
- 자바
- 백준
- 비주얼 베이직
- 동적할당
- android studio
- C언어
Archives
코딩하는 해달이
[level 1] 정수 제곱근 판별 본문
문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
제한 사항
- n은 1이상, 50000000000000 이하인 양의 정수입니다.
문제 이해
n의 양의 제곱근이 정수인지 확인 후 정수이면 제곱근에 1을 더하고 제곱하여 리턴, 아니면 -1 리턴
알고리즘
1. 정수를 입력 받는다.
2. sqrt(n) - (int)sqrt(n) == 0이 참이면 pow(sqrt(n) + 1, 2) 리턴
3. 아니면 -1 리턴
풀이 코드
#include <string>
#include <vector>
#include <cmath>
using namespace std;
long long solution(long long n) {
long long answer = 0;
return (sqrt(n) - (int)sqrt(n) == 0) ? pow(sqrt(n) + 1, 2) : -1;
}
https://school.programmers.co.kr/learn/courses/30/lessons/12934
반응형
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[level 1] 자연수 뒤집어 배열로 만들기 (0) | 2022.07.20 |
---|---|
[level 1] 정수 내림차순으로 배치하기 (0) | 2022.07.20 |
[level 1] 제일 작은 수 제거하기 (0) | 2022.07.20 |
[level 1] 짝수와 홀수 (0) | 2022.07.20 |
[level 1] 최대공약수와 최소공배수 (0) | 2022.07.19 |
Comments