[BOJ] 2057번 : 팩토리얼 분해 (Python/파이썬)
·
공부/백준
문제 2057번: 팩토리얼 분해 음 아닌 정수 N이 주어졌을 때, 이 수를 서로 다른 정수 M(M ≥ 1)개의 팩토리얼의 합으로 나타낼 수 있는지 알아내는 프로그램을 작성하시오. 예를 들어 2=0!+1!로 나타낼 수 있지만, 5는 이와 같은 www.acmicpc.net 문제풀이 문제는 입력된 N을 서로다른 M개의 팩토리얼의 합으로 나타낼 수 있는지 구하는 문제이다. 예를들어 N = 7 이라면 3! + 1! 으로 나타낼 수 있고, N = 9 라면 3! + 2! + 1! 으로 나타낼 수 있다. 문제를 2단계로 나누어 풀어보도록 한다. STEP 1. 팩토리얼을 구하는 사용자 정의 함수 코드 def factorial(n): if n == 0: return 1 else: return n * factorial(n ..
[BOJ] 2999번 : 비밀 이메일 (Python/파이썬)
·
공부/백준
문제 2999번: 비밀 이메일 정인이는 원래 "bombonisuuladici"를 보내려고 했다. 이 메시지는 16글자이므로, 정인이는 1*16, 2*8, 4*4 행렬을 선택할 수 있다. R이 가장 큰 것은 4*4이므로, 4*4를 선택한다. 정인이가 만든 행렬은 다음과 www.acmicpc.net 문제 풀이 먼저 예제 입력 3번인 "boudonuimilcbsai"를 살펴보면 총 글자수의 길이는 16글자로 만들수 있는 행렬은 1*16, 2*8, 4*4 행렬을 선택할 수 있다고 한다. 1부터 16순서대로 채워진다는걸 알수있다. 예제 입력 3번의 출력값은 "bombonisuuladici"으로 출력되는데 위에서부터 왼쪽부터 오른쪽 순서대로 출력된다는걸 알수있다. 출력순서 : 1 → 5 → 9 → 13 → 2 → ..