[C#] 백준 27434번 팩토리얼 3 못푼문제 (실패)

2024. 4. 20. 10:44·Language/C#
반응형

[ 실패후기 ]

실패후기이기때문에 성공코드가 없습니다. 성공코드를 보고자하신분은 뒤로가기를 눌러주세용.

브론즈 5문제인데 왜 못풀었냐?

허 참 이건 파이썬으로만 브론즈고 다른 언어로는 리얼 플레티넘급 문제인 듯 싶사오니 저는 눈물을 머금고 처음으로 뒤로가기를 눌러봅니다.

파이썬으로 풀기만 하기에는 내 자존심이 허락을 안해서 다음에 내가 문제를 풀 수 있을때 다시 도전해보려한다.

 

[ 문제 ]

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

 

[ 코드 ]

1. 재귀함수

using System.Numerics;

int n = int.Parse(Console.ReadLine());
BigInteger result = Factorial(n);
Console.Write(result.ToString());

BigInteger Factorial(int n)
{
    if (n <= 0) return 1;
    else return n * Factorial(n - 1);
}

 

2. 반복문

using System.Numerics;

int n = int.Parse(Console.ReadLine());
BigInteger result = Factorial(n);
Console.Write(result.ToString());

BigInteger Factorial(int n)
{
    BigInteger result = 1;

    for (int i = 2; i <= n; i++)
    {
        result *= i;
    }
    return result;
}

 

3. 반복문 + 딕셔너리에 값 저장해놓고 중복 계산 방지

using System.Numerics;

Dictionary<int, BigInteger> arr = new Dictionary<int, BigInteger>();

int n = int.Parse(Console.ReadLine());
BigInteger result = Factorial(n, arr);
Console.Write(result.ToString());

BigInteger Factorial(int n, Dictionary<int, BigInteger> arr)
{
    if(n <= 1) return 1;
    if(arr.ContainsKey(n)) return arr[n];

    BigInteger result = 1;

    for (int i = 2; i <= n; i++)
    {
        result *= i;
        arr[n] = result;
    }

    return result;
}

 

4. 반복문 + 배열

using System.Numerics;

int n = int.Parse(Console.ReadLine());
BigInteger result = Factorial(n);
Console.Write(result.ToString());

BigInteger Factorial(int n)
{
    BigInteger[] arr = new BigInteger[Math.Max(n + 1, 2)];
    arr[0] = 1;
    arr[1] = 1;

    for (int i = 2; i <= n; i++)
    {
        arr[i] = arr[i - 1] * i;
    }

    return arr[n];
}

 

모두 안됩니다.

 

화나서 아무거나 쳤더니 중간에 틀렸습니다가 제출됐읍니다... ㅎㅎㅎㅎㅎ

그래서 C#으로는 아예 못푸는거 아닌가? 싶어서 C# 제출자들을 확인해보니

 

 

하.... 세달전에 딱 한명이 성공한 기록이 있다.

그래서 더 도전해보려고 블로그에 올려둔다. 

 

가뭄에 콩 나듯 나와 비슷한 처지를 가진 똑똑 개발자를 찾았다. 이분은 자바스크립트 개발자인 것 같은데 자료구조까지 세세하게 설명해주셔서 나중에 내가 이정도 레벨까지 가게된다면 참고해서 풀어야겠다.

 

> 이진 트리를 통한 빠른 팩토리얼 구현 모델 분석 <

 

이진 트리를 통한 빠른 팩토리얼 구현 모델 분석

팩토리얼의 구현 방법 중 Heap를 이용한 PriorityQueue의 분석을 이야기합니다.

velog.io

 

 


 

문제링크: https://www.acmicpc.net/problem/27434

 

27434번: 팩토리얼 3

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

어제 못풀어서 스트릭 100일을 못채웠긴한데 의외로 잘된일이라고 생각한다.

강박같은게 생겨서 출석처럼 쉬운문제를 풀고 나가버렸는데,

이제는 그럴 필요없이 집중할 수 있을 것 같다.

그래두.. 조금 아쉬운 것 같기도..

반응형
저작자표시 비영리 변경금지 (새창열림)

'Language > C#' 카테고리의 다른 글

[C#] 백준 9237번 이장님 초대  (0) 2024.04.23
[C#] 백준 1026번 보물  (0) 2024.04.22
[C#] 백준 11399번 ATM  (1) 2024.04.14
[C#] 백준 1526번 가장 큰 금민수  (0) 2024.04.13
[C#] 백준 1260번 DFS와 BFS  (0) 2024.04.12
'Language/C#' 카테고리의 다른 글
  • [C#] 백준 9237번 이장님 초대
  • [C#] 백준 1026번 보물
  • [C#] 백준 11399번 ATM
  • [C#] 백준 1526번 가장 큰 금민수
석영
석영
관심 분야는 AR, VR, 게임이고 유니티 공부 중 입니다. (정보처리기사,컴퓨터그래픽스운용기능사 취득)
반응형
석영
유석영의 개발공부
석영
전체
오늘
어제
  • 분류 전체보기
    • Unity
      • Project
      • Tip
      • Assets
    • Record
      • TIL
      • Game
    • Language
      • C#
      • Node.js
      • HTML, JS
    • Study
      • Linear Algebra

인기 글

최근 글

hELLO· Designed By정상우.v4.5.2
석영
[C#] 백준 27434번 팩토리얼 3 못푼문제 (실패)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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