문제
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
제한조건
풀이방향
- 입력된 값을 2부터 순차적으로 나눠서 나머지가 1인 값을 찾는다.
문제풀이
findRemainderOne.js1 2 3 4 5 6 7 8
| function findRemainderOne(n) { let x = 1; while(x++) { if (n % x === 1) return x; } }
export { findRemainderOne };
|
findRemainderOne.test.js1 2 3 4 5 6 7 8 9 10 11 12
| import { findRemainderOne } from "../src/findRemainderOne";
describe("findRemainderOne", () => { it("should return 3 for 10", () => { expect(findRemainderOne(10)).toBe(3); });
it("should return 11 for 12", () => { expect(findRemainderOne(12)).toBe(11); }); });
|
문제출처
다른 풀이
1 2 3 4 5 6 7
| const solution = (n) => { for (let i = 2; i < n; i++) { if (n % i === 1) { return i; } } };
|