[파이썬] 백준 9375 : 패션왕 신해빈 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 실버 3 수학, 자료 구조, 조합론, 해시를 사용한 집합과 맵 접근 두 개 이상의 사건이 동시에 일어나면 각각의 경우의 수를 곱해야 하며, 이를 곱의 법칙이라 한다. 3종류의 티셔츠와 2종류의 바지를 하나씩 골라 입을 수 있는 경우의 수는 티셔츠를 고를 수 있는 ..
[파이썬] 백준 1676 : 팩토리얼 0의 개수 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 실버 4 수학 접근 입력받은 값이 N일때, N!을 구하고 맨 마지막 수가 0일 때만 특정 변수의 값이 1씩 오르도록 하고 마지막에 그 변수의 값을 출력한다. 코드1 import sys, math N = int(sys.stdin.readline()) f = math.factorial(N) cnt = 0 while True: if f % 10 == 0: cnt += 1 f = f // 10 else: print(cnt) break math..
[파이썬] 백준 1010 : 다리 놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 실버 5 수학, DP, 조합론 다리가 겹치지 않아야한다는 것은 중복을 허용하지 않고 순서에 상관없이 선택하는 것이므로 조합으로 풀어야 한다. nCm = m! // (m-n)! * n!이므로 이를 구현하면 간단하게 풀 수 있다. import sys def factorial(num): val = 1 for i in range(1, num+1): val *= i ..
[파이썬] 백준 1037 : 약수 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 실버 5 수학, 정수론 실버 상위 문제들 풀다 멘탈 나가서 힐링용으로 풀었는데 계속 틀려서 어이가 없었던 문제다. 당연히 최소공배수를 구하는 건줄 알고 입력 받은 값중 가장 큰 값에 2배를 한 후, 입력 받은 값들에 대해 나눴을 때 모든 모든 원소가 나누어 떨어진다면 최소공배수임으로 그것을 출력하도록 짰다. import sys input = sys.stdi..
[파이썬] 백준 1002 : 터렛 https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 실버 4 기하학, 수학 학교 다닐 때 배우는 두 원의 위치 관계를 이용해 풀 수 있는 문제. https://mathbang.net/101 두 원의 위치관계, 내접, 외접 위치관계 또 나오네요. 이번에는 두 원의 위치관계에요. 위치관계 마지막이니까 정신 바짝 차리고 따라오세요. 원과 직선의 위치관계, 원의 할선과 접선, 접점에서 했던 것처럼 두 원이 어떤 관 mathbang.net 이곳을 참고해서 풀었다. 코드 imp..
[파이썬] 백준 2805 : 나무 자르기 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 실버3 이분탐색, 매개변수 탐색 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) hlst = list(map(int, input().split())) ps = 1 pl = max(hlst) while ps = M: ps = pc + 1..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.