Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 절대경로
- const
- 상대경로
- appendChild
- HTML
- src
- 연결자
- CSS
- advancedwebranking
- HTMLSTUDY
- TiL
- object
- 코딩공부
- padEnd
- argument
- 함수
- 속성선택자
- function
- Let
- Append
- combinator
- 공부일지
- 선택자
- 복합선택자
- 인자
- 결합자
- 생활코딩
- document.querySelector
- Selector
- padStart
Archives
- Today
- Total
능히 할수있다!
[프로그래머스] Lv.1 나머지가 1이 되는 수 찾기 본문
🔬 문제 설명
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를
return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
✋ 제한사항
3 ≤ n ≤ 1,000,000
📌 입출력 예
n | result |
10 | 3 |
12 | 11 |
✍️ 풀이
function solution(n) {
var x = 1;
while (x++) {
if (n % x === 1) return x;
}
}
While이 정적인 조건문 뿐 만 아니라 변수 값을 변경하거나 증감하는 표현식을 사용할 수 있다는 점을 이용한 풀이로,
x값을 1씩 증가시키며 루프를 실행하고 if문을 통해 n을 x로 나눈 나머지가 1이 되는 최소값을 찾는다.
🔍 또 다른 풀이방법
/* for를 활용한 방법 */
const solution = function (n) {
for (let i = 0; i < n; i++) {
if (n % i == 1) {
return i;
}
}
};
/* 재귀 함수를 이용한 방법 */
function solution(n, x = 0) {
// 조건이 거짓일 경우 x값을 1증가시켜 재귀호출
return n % x === 1 ? x : solution(n, x + 1);
}
출처: https://programmers.co.kr/
'STUDY > Algorithm' 카테고리의 다른 글
[프로그래머스] Lv.1 문자열 내 p와 y의 개수 (0) | 2023.06.09 |
---|---|
[프로그래머스] Lv.1 자연수 뒤집어 배열로 만들기 (0) | 2023.06.09 |
[프로그래머스] Lv.1 x만큼 간격이 있는 n개의 숫자 (0) | 2023.06.08 |
[프로그래머스] Lv.1 짝수와 홀수 (0) | 2023.06.08 |
[프로그래머스] Lv.1 약수의 합 (0) | 2023.06.08 |
Comments