- 입문 - 팩토리얼2023년 11월 06일 22시 02분 47초에 업로드 된 글입니다.작성자: oneseel
입문 - 팩토리얼
문제설명
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
- i! ≤ n
제한사항
- 0 < n ≤ 3,628,800
입출력 예
입출력 예 설명
입출력 예 #1
- 10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다.
입출력 예 #2
- 3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다.
내 풀이
>> while문을 이용해서 팩토리얼의 결과값이 n보다 작거나 같을 때, 계속 반복하게 하고 i값을 증가시켜 factorial 값을 증가시키고, fatorial값이 n보다 커지면 종료된다.
>> 종료 되었을 때 i값에서 1을 뺀 값을 반환하면 i! <= n을 만족하는 가장 큰 정수이다.
class Solution { public int solution(int n) { int i = 1; int factorial = 1; while (factorial <= n) { i++; factorial *= i; } return i - 1; } }
https://school.programmers.co.kr/learn/courses/30/lessons/120848
'코딩테스트' 카테고리의 다른 글
입문 - 문자열 정렬하기(1) (0) 2023.11.07 입문 - 모음 제거 (1) 2023.11.06 입문 - 최댓값 만들기(1) (0) 2023.11.06 입문 - 합성수 찾기 (0) 2023.11.03 입문 - 주사위의 개수 (0) 2023.11.03 댓글