백준 알고리즘 파이썬(Python) 2141번 우체국
2021. 4. 11. 14:47
Algorithm
이번 문제는 문제자체를 이해하는데 조금 시간이 걸렸다. 이 문제의 핵심은 우체국은 마을 위치에 있어야 한다 인것 같다 n = int(input()) #마을의 개수 n array = [] #빈 리스트 생성 for i in range(n): x,y = map(int, input().split()) array.append([x,y]) #마을의 위치, 인구수 [(x,a)] array = sorted(array, key = lambda i : i[0]) #마을 위치 순서대로 array를 배열 pop = 0 for i in range(n): k = array[i][1] #인구수를 차례차례 더해서 총 인구수를 구한다. pop = pop + k mid = pop//2 #인구수의 중간값을 구하기 위해 2로 나눈 몫을 구..
백준 알고리즘 파이썬(Python) 1541번 잃어버린 괄호
2021. 4. 11. 14:38
Algorithm
이 문제의 핵심은 최초로 마이너스가 나오기 전까지 나오는 숫자는 모두 더해주며, 이후 마이너스가 나오는 순간부터 모조리 다 빼준다. num = input().split('-') #마이너스를 기준으로 split 해준다. min_num = 0 for i in range(len(num)): if i == 0: min_num = eval(num[0]) #처음 - 가 나올때 까지 모두 더해준다.(eval 안에 식이 모두 더하기이므로) else: min_num = min_num - eval(num[i]) # 그 이후 모든 값들을 다 빼준다. print(min_num) 처음 내가 푼 코드는 이러하다. 하지만 무슨일인지 런타임 에러 (SyntaxError) 가 계속 난다.......... 아직 해결하지 못했다 아시는 ..
백준 알고리즘 파이썬(Python) 1931번 회의실 배정
2021. 4. 11. 14:22
Algorithm
이 문제의 핵심은 바로 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다 바로 이부분이다. 즉 (1,3)(3,3) 의 입력값이 들어왔을때 (3,3)이 먼저 배열된다면 (1,3)은 count에서 빠져 치명적인 오류가 될 수 있다는 것이다 그래서 시작하는 시간을 오름차순으로 먼저 배열하고 그 다음 끝나는 시간을 다시 오름차순으로 배열하는 것이 중요하다. n = int(input()) array = [] for i in range(n): start, end = map(int, input().split()) #map 은 함수와 리스트를 인자로 받는다. 리스트로부터 원소를 하나씩 받아 함수를 적용해 새로운 리스트로 작성 array.append((start,end)) # (start,end) 이렇게 괄호로..