[백준][Python] 10699번 오늘 날짜 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/10699 10699번: 오늘 날짜 서울의 오늘 날짜를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 time 객체의 사용법을 익힐 수 있는 기회를 주는 문제입니다. # 10699번 오늘 날짜 import time print(time.strftime('%Y-%m-%d', time.localtime(time.time())))
[백준][Python] 1003번 피보나치 함수 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 풀이 피보나치 함수를 푸는데 3가지 방법이 있다. 1, 직접 구현 2, 재귀함수 이용 3, 다이나믹 프로그래밍 사용(시간 감축) 위 문제는 시간초과 때문에 3번에 해당하는 문제이다. 다만 피보나치의 함수의 값을 dp에 담아주는 것이 아닌 자연수 N의 피보나치 수를 계산할 때 얼마나 0과 1을 리턴하는지를 담아주는 것이다. # 1003번 피보나치 함수 def fib(n): dp_0 = [1, 0, 1] dp_1 = [0, 1, 1] if n >= 3: for i in range(3, n+1): ..
[백준][Python] 1931번 회의실 배정 - 코팩
·
백준/문자열 정렬
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 풀이 sort에 관련된 블로그 글 참고 # 1931번 회의실 배정 # 1, 가장 빨리 끝나는 강의 우선으로 정렬 2, 가장빨리 시작하는 강의로 정렬 import sys input = sys.stdin.readline n = int(input()) arr = [] for _ in range(n): a, b = map(int, input().split()) arr.append((a, b)) arr.sort(key = lambda x:(x[1],x[0])) cnt = 0 end = 0 for s, t in arr: i..
[백준][Python] 1037번 약수 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이 진짜약수로 주어진 숫자의 가장 작은 숫자와 가장 큰 숫자를 곱해준다면 구하고자하는 답이 나올것이다.가장 큰수와 2를 곱해주면 안된다. 21같은 숫자는 진짜 약수가 3, 7인데 2를 14가 구하고자하는 답이 아니기 때문이다. # 1037번 약수 import sys input = sys.stdin.readline _ = input().rstrip() arr = list(map(int, i..
[백준][Python] 2506번 점수계산 - 코팩
·
백준/그리디
https://www.acmicpc.net/problem/2506 2506번: 점수계산 OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 www.acmicpc.net 풀이 단순한 그리디 문제이기에 풀어주면 됩니다. # 2506번 점수계산 T = int(input()) score = list(map(int, input().split())) cnt = 0 # 연속된 점수일 경우 더해준다. answer = [] for i in score: if i == 1: answer.append(1 + cnt) cnt += 1 elif i == 0: answer.append(0) c..
[백준][Python] 6603 로또 - 코팩
·
백준/완전 탐색
https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 풀이 라이브러리 itertools의 combinations(조합)을 사용하여 풀어주었다. # 6603번 로또 from itertools import combinations as comb while True: numbers = input().split() if numbers[0] == '0': break else: numbers = numbers[1:] for i in comb(numbe..
개발자 성현