본 페이지는 C++ 독학을 위해 작성한 포스트입니다 풀이과정도 포함되어있지만 문법공부에 대한 비중이 있습니다.
(+ Java언어 내용도 포함되어있습니다. )
https://school.programmers.co.kr/learn/courses/30/lessons/120909
1.문제설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때,
n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
2. 문제해결 접근
- 조건문으로 결과를 다르게 반환할 수 있다.
- 제곱근을 구하는 함수가 있을것이다.
- if( n == 제곱근*제곱근)
3.답안 : [언어 : java]
class Solution {
public int solution(int n) {
int answer = 0;
int root = (int) Math.sqrt(n);
if( n == root*root )answer = 1;
else answer = 2;
return answer;
}
}
4. C++ 답안
pow() 를 이용한 답안
#include <cmath>
#include <iostream>
using namespace std;
int solution(int n) {
// sqrt() 제곱근을 구한뒤
int i = sqrt(n);
// pow() 제곱근의 제곱을 구한다
if (pow(i, 2) == n)
return 1;
else
return 2;
}
반복문을 이용한 답안
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
for(int i = 0; i < n; i++){
if(i*i == n) return 1;
}
return 2;
}
5. C++ 문법 설명과 표현법
'알고리즘 > [프로그래머스]Lv.0' 카테고리의 다른 글
[프로그래머스]Lv0. 두 수의 나눗셈 (0) | 2022.11.03 |
---|---|
[프로그래머스]Lv0. 문자 반복 출력하기 (0) | 2022.10.31 |
[프로그래머스]Lv0.자릿수 더하기 (0) | 2022.10.25 |
[프로그래머스]Lv0. 약수의 합 (0) | 2022.10.25 |
[프로그래머스]Lv0. 평균 구하기 (0) | 2022.10.25 |