일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 연산자 문제
- CSS
- 주창형 공공외교
- 알고리즘
- 백준 14501번
- DP 알고리즘
- 해설
- 풍선터뜨리기
- Python
- 1
- 0의 개수
- 백준
- BTREE
- 한반도평화와공공외교
- 백준 1246번
- 1141번
- hashing
- 문제 풀이
- 가치규범의 공공외교
- B-tree
- html
- 백준 1487번
- 해싱
- N과 M
- 백준 11050번
- 풀이
- 이항계수
- 챗봇
- 파이썬
- 실버
- Today
- Total
목록전체 글 (60)
SunFly의 코딩 및 정보 블로그
문제 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500) 출력 첫째 줄에 구한 0의 개수를 출력한다. 풀이 import sys def factorial(x): # 팩토리얼 res = 1 for i in range(1, x+1): res *= i return res input = sys.stdin.readline N = int(input()) N_f = factorial(N) N_f = list(str(N_f)) N_f = reversed(N_f) # 리스트 거꾸로 cnt = 0 for i in N_f: if i == '0': # 만약 0이랑 같다면 cnt가 +1 cnt += 1 else: break p..

풀이 팩토리얼을 사용하여 푼다. 이항계수는 N, K가 주어질때, N! / (N-K)! K! 이므로 식을 구한다. import sys def factorial(x): res = 1 for i in range(1, x + 1): res *= i return res def calc(x, y): k = factorial(x) l = factorial(x - y) * factorial(y) res = k // l return res input = sys.stdin.readline N, K = map(int, input().split()) print(calc(N, K))

문제 상근이는 창고에서 링 N개를 발견했다. 상근이는 각각의 링이 앞에 있는 링과 뒤에 있는 링과 접하도록 바닥에 내려놓았다. 상근이는 첫 번째 링을 돌리기 시작했고, 나머지 링도 같이 돌아간다는 사실을 발견했다. 나머지 링은 첫 번째 링 보다 빠르게 돌아가기도 했고, 느리게 돌아가기도 했다. 이렇게 링을 돌리다 보니 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 도는지 궁금해졌다. 링의 반지름이 주어진다. 이때, 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 돌아가는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 링의 개수 N이 주어진다. (3 ≤ N ≤ 100) 다음 줄에는 링의 반지름이 상근이가 바닥에 놓은 순서대로 주어진다. 반지름은 1과 1000를 포함하는 사이의 자연수이다. 출..
문제 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 풀이 두 수 중 하나 이상이 0일 경우를 포함시키지 않고 풀이하였다. import sys input = sys.stdin.readline N = [] N = list(map(int, input().split())) num1 = [] num2 = [] num3 = [] res1 = [] for i in range(1, N[0]+1): if (N[0] % i) == 0: num1.a..
문제 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. 출력 첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다. 풀이 1과 N(자기자신)을 제외한 약수에서 N을 구하려면 약수 중 가장 작은 수와 가장 큰 수를 곱하면 N을 구할 수 있다. import sys input = sys.stdin.readline num = int(input())..