ෆ ⋆ ₊ ゚ ☽ * ₊ ⋆

프로그래머스/Java

팩토리얼

우당탕가윤 2023. 1. 26. 21:18

https://school.programmers.co.kr/learn/courses/30/lessons/120848

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


■ 문제 설명

i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.

  • i! ≤ n

 

■ 제한사항

  • 0 < n ≤ 3,628,800

■ 나의 코드

class Solution {
    public int solution(int n) {
        int fa = 1, i = 0;
        while(true) {
            if(fa <= n) {
                fa *= i+1;
                i++;
            }
            else
                break;
        }
        return i-1;
    }
}

 

■ 코드 해설

while문을 무한루프로 돌리면서 fa가 n과 작거나 같으면 fa에 i+1이 계속 곱해지고 그렇지 않다면 while문을 빠져나가도록 해 i-1을 return했다.

'프로그래머스 > Java' 카테고리의 다른 글

짝수의 합  (0) 2023.02.08
개미 군단  (0) 2023.01.27
A로 B 만들기  (1) 2023.01.26
배열의 유사도  (0) 2023.01.13
문자열안에 문자열  (0) 2023.01.12