[Python] 13300-방 배정
> 출처: www.acmicpc.net/problem/13300 * 핵심 로직: - 학년별, 성별 반이 달라야한다 -> 리스트로 구분 - 같은 학년, 같은 성별의 학생수가 K보다 클 경우 - 방을 1개 늘리고 (학생수 - K) 를 반복한다 ** 아쉬운 점: - 이 문제는 사실 while문을 굳이 돌리지 않고도, - if (학생 수 % K == 0) 이면, cnt += 학생 수 // K - else 이면, cnt += 학생 수 // K + 1 로 간단하게 해결할 수 있었다 N, K = map(int, input().split()) student = [[0, 0] for _ in range(6)] for _ in range(N): S, Y = map(int, input().split()) student[Y-..
2020. 10. 26.
1v1- 최대공약수와 최소공배수 (python, 파이썬)
- 유클리드 알고리즘 체크! """ 1번: 나의 풀이 """ def gcd(a, b): gcm = 1 for k in range(2, min(a, b) + 1): while a % k == 0 and b % k == 0: a //= k b //= k gcm *= k return gcm def lcm(a, b): return a*b//gcd(a, b) def solution(n, m): g = gcd(n, m) return [g, lcm(n, m, g)] """ 2번: 다른 사람의 풀이 """ def gcdlcm(a, b): c, d = max(a, b), min(a, b) t = 1 while t > 0: t = c % d c, d = d, t return [c, a*b//c] def solution(n..
2020. 10. 24.