https://school.programmers.co.kr/learn/courses/30/lessons/87389
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
많이 간단하다. 입문자들도 부담없이 풀 수 있는 문제. 변수 n을 x로 나눈 나머지가 1인 수 중 가장 작은 자연수를 찾는 것이다.
제한사항
n은 3이상 1,000,000 이하. 따로 처리해줄 부분은 없었다.
답
function solution(n) {
for(let i=0;i<n;i++) {
if(n%i == 1) {
return i;
}
}
}
for문을 돌려서 나머지가 1이 되는 수를 찾는 순간 return 시켰다. 제일 작은 자연수를 찾는 것이기 때문에 for문을 0에서부터 차례대로 큰 수로 돌렸다.
비교
이런 간단하고 쉬운 문제는 풀이과정에서 도움이 되는 것보다는 다른 사람의 코드를 보는 것이 훨씬 더 도움이 될 때가 많다.(이상하고 괴짜스럽게 푸신 분들도 많아서 나름 재밌다.)
당장 생각해봐도 for문 대신 while, iterator을 써서 다른 방법으로 풀 수 있으니 말이다.
while (x++)
이런 형식으로 while안에 증감연산자를 넣어 비교하는 것도 가능하다. for문보다 속도 측면에서는 별 차이가 없지만 훨씬 손가락도 덜 움직이고 직관적이다.
var answer = 1;
while(n%answer!=1)answer++;
이런 식으로 나머지 1이 아니면 증가시켜도 된다. 하지만 n만큼 반복횟수로 돌아서 속도 측면에서는 떨어질 듯.
총평
쉬운 코딩에도 배울 것은 있다. 특히 나같은 초보라면 더더욱.
'JAVASCRIPT > 코딩테스트' 카테고리의 다른 글
프로그래머스 레벨1 - 부족한 금액 계산하기(자바스크립트) (4) | 2023.02.11 |
---|---|
프로그래머스 레벨1 - 없는 숫자 더하기(자바스크립트) (3) | 2023.02.10 |
프로그래머스 레벨1 - 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 (JAVA) (3) | 2023.02.10 |
프로그래머스 레벨1 - 가장 가까운 같은 글자(JAVASCRIPT) (2) | 2023.02.09 |
프로그래머스 레벨1 - 크기가 작은 부분 문자열(filter함수 사용)(JAVASCRIPT) (2) | 2023.01.03 |
댓글