※ programmers 1단계 풀이 아홉 번째
정수 제곱근 판별
❍ 문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는
함수를 완성하세요.
❍ 제한 조건
n은 1이상, 50000000000000 이하인 양의 정수입니다.
❍ 입출력 예
n | return |
---|---|
121 | 144 |
3 | -1 |
❍ 나의 풀이
function solution(n) {
// i를 1부터 n까지 증가시켜줍니다.
for (let i = 1; i <= n; i++) {
// if문으로 i 와 i 를 곱했을 때 정확히 n이 되는 i 값을 구해줍니다.
if (i * i === n) {
// i 와 i 가 곱해졌을 때 n이 된다면 아래의 식을 실행하여 답을 제출
return (i + 1) * (i + 1);
}
}
// 그게 아니라면 -1을 제출
return -1;
}
❍ 다른 사람의 풀이
function solution(n) {
var answer = 0;
// for 문으로 i 와 a 의 값을 0으로 선언해준 뒤, i 를 n만큼 증가시켜줍니다.
for(let i=0, a=0; i<=n; i++){
// 만약 n / i 가 i 와 완벽하게 같다면 a 에 i + 1 의 값을 대입해주고, 대입된 a 를 a * a 하여 답으로 제출
if(n/i===i){
a = i + 1
return a*a
// 그게 아니라면 answer에 -1을 대입해줍니다.
} else {
answer = -1
}
}
return answer;
}
글도 조금씩 채워지고 있으니, 슬슬 저의 TMI 를 시동 걸어볼까 합니다.
오늘 저녁은 밀키트 춘천닭갈비와 멸치볶음, 오징어젓갈, 죽을 먹었습니다. 미역국도 먹었네요.
오랜만에 집밥다운 집밥을 먹으니 생각보다 행복했습니다.
하지만 언제나 설거지와 밥 차리기는 너무 귀찮네요. 그래서 저는 뽀글이를 좋아합니다.
밥 < 뽀글이 < 과자 < 불량식품 순으로 좋아하는 것 같습니다.
불량식품이 없으면 과자로 때우고, 과자가 없으면 뽀글이, 라면이 질리면 밥
다들 밥 많이 드세요. 제가 남은 것들 다 먹겠습니다.
그럼 저는 이만 물러나 보겠습니다.
오늘 저녁은 밀키트 춘천닭갈비와 멸치볶음, 오징어젓갈, 죽을 먹었습니다. 미역국도 먹었네요.
오랜만에 집밥다운 집밥을 먹으니 생각보다 행복했습니다.
하지만 언제나 설거지와 밥 차리기는 너무 귀찮네요. 그래서 저는 뽀글이를 좋아합니다.
밥 < 뽀글이 < 과자 < 불량식품 순으로 좋아하는 것 같습니다.
불량식품이 없으면 과자로 때우고, 과자가 없으면 뽀글이, 라면이 질리면 밥
다들 밥 많이 드세요. 제가 남은 것들 다 먹겠습니다.
그럼 저는 이만 물러나 보겠습니다.
'JAVASCRIPT > PROGRAMMERS 1단계' 카테고리의 다른 글
Javascript | programmers11 (프로그래머스 1단계 : x만큼 간격이 있는 n개의 숫자) (2) | 2022.11.14 |
---|---|
Javascript | programmers10 (프로그래머스 1단계 : 정수 내림차순으로 배치하기) (5) | 2022.11.08 |
Javascript | programmers08 (프로그래머스 1단계 : 하샤드 수) (2) | 2022.11.03 |
Javascript | programmers07 (프로그래머스 1단계 : 문자열을 정수로 바꾸기) (6) | 2022.11.02 |
Javascript | programmers06 (프로그래머스 1단계 : 문자열 내 p와 y의 개수) (12) | 2022.11.01 |