Algorithm/Programmers

[프로그래머스] 팩토리얼 - Java

2023. 4. 24. 18:07

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

  • i! ≤ n

제한사항)

  • 0 < n ≤ 3,628,800

입출력 예)

n result
3628800 10
7 3

 

입출력 예 설명)

입출력 예 #1

  • 10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다.

입출력 예 #2

  • 3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다.

풀이)

1. answer 선언

2. 계산시 필요한 sum과 i 선언

3. sum 값이 n보다 작을때만 while문 반복

4. sum * i 값을 계속 더해주면서 i를 증가시켜줌

5. 근데 i를 증가시켜주기 전에 sum이 n보다 커지면 빠져나옴

6. i에서 1 빼주기

class Solution {
    public int solution(int n) {
        int answer = 0;	
        int sum = 1;
		int i = 2;
        while (sum < n) {
			sum = sum * i;
			if(sum > n) {
				break;
			}
			i++;
		}
		answer = i-1;
        return answer;
    }
}
'Algorithm/Programmers' 카테고리의 다른 글
  • [프로그래머스] 가까운 수 - Java
  • [프로그래머스] k의 개수 - Java
  • [프로그래머스] A로 B 만들기 - Java
  • [프로그래머스] 모스부호 (1) - Java
뭐든 해보기
뭐든 해보기
쓰고 싶은 글 아무거나 쓰는 백엔드 개발자의 공간입니당.
뭐든 해보기
두들두들
뭐든 해보기
전체
오늘
어제
  • Programming (57)
    • Language (1)
      • C# (0)
      • Java (1)
    • JavaScript (1)
    • Algorithm (45)
      • Baekjoon (6)
      • Programmers (39)
    • 자격증 (2)
      • SQLP (0)
      • 네트워크관리사2급 (2)
    • Git (4)
    • Docker (2)
    • 이것저것 (1)
    • OS (1)
      • Windows (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 네트워크관리사2급
  • 티스토리 다크모드
  • docker
  • 네트워크관리사2급 실기
  • github
  • 네트워크관리사2급 필기
  • 백준
  • 임시폴더
  • 랜섬웨어
  • 코딩테스트 연습
  • git 명령어
  • Algorithm
  • 프로그래머스
  • IT
  • git
  • 코딩테스트
  • 알고리즘
  • 깃허브
  • IT자격증
  • baekjoon

최근 댓글

최근 글

hELLO · Designed By 정상우.
뭐든 해보기
[프로그래머스] 팩토리얼 - Java
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.