https://school.programmers.co.kr/learn/courses/30/lessons/120909?language=c
■ 문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
■ 제한사항
- 1 ≤ n ≤ 1,000,000
■ 나의 코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = 2;
for(int i=0; i<n; i++) {
if(i*i == n)
answer = 1;
}
return answer;
}
■ 코드 해설
return 할 값인 answer의 초기값을 2로 (제곱수가 아닐 시의 값) 잡아두고 i의 제곱이 n과 같다면 answer의 값을 1로 변환시켰다.
■ 기타
내가 푼 방법 말고도 다양한 방법이 많이 있을 것 같아 다양한 풀이를 찾아 보면서 내 코드와 비교해봐야겠다.
'프로그래머스 > C' 카테고리의 다른 글
머쓱이보다 키 큰 사람 (0) | 2023.01.04 |
---|---|
최댓값 만들기(1) (0) | 2023.01.04 |
편지 (0) | 2022.12.30 |
다음에 올 숫자 (0) | 2022.12.30 |