Python

개발공부/algorithm

[백준][python] 1931.회의실배정 - Greedy

백준 1931 회의실 배정 Silver II 문제링크 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 나의 코드 주어진 시작시간과 끝나는 시간을 1. 끝나는 시간의 오름차순 2. 시작하는 시간의 오름차순 으로 정렬해주어야한다. 그 후에는 각 회의의 끝나는 시간과 그 다음 회의의 시작 시간을 비교해주면서 카운트를 증가시켜주면 된다. import sys N = int(sys.stdin.readline()) meetings = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] meetings.sort(key = lambda x: (x[1], x[0])) cnt = ..

개발공부/algorithm

[백준][python] 16953 A->B - Greedy

백준 16953 A -> B Silver I 문제링크 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 나의 코드 BFS 키워드를 보고 바로 BFS로 구현했다. 주어진 테스트케이스는 통과했지만 제출했더니 시간초과가 났다.. BFS에서 방향을 정의해주는 것 대신 가능한 두 가지의 연산된 값에 대한 연산을 반복하는 식이다. # 시간초과 코드 import sys def bfs(num, B): q = [] q.append((num, 0)) while q: newnum, count = q.pop(0) calcnums = [(lambda x: x * 2)(newnum), int((lambda x: x + '1')(str(newnum)))] for ..

개발공부/algorithm

[백준][python] 1166.선물 - Binary Search

백준 1166 선물 Silver III python 문제링크 1166번: 선물 첫째 줄에 N L W H가 주어진다. 모든 값은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 나의 풀이 주어지는 L, W, H에 대한 최대공약수를 찾는다는 느낌으로 접근하면 된다. 여기에 이분탐색을 곁들인. A의 최소값으로 0을 주고, 최대값으로 L, W, H에서의 최소 값을 준다. N개의 상자를 모두 넣을 수 있어야 하기 때문에 더 큰 A가 최대공약수의 조건과 N값을 충족한다면 포인터를 옮겨줘서 탐색을 계속한다. import sys N, L, W, H = map(int, sys.stdin.readline().split()) S, E = 0, max(L, W, H) for _ in rang..

so.py
'Python' 태그의 글 목록 (15 Page)