은세고화
뚜렷한 기억보단 흐릿한 잉크를
은세고화
전체 방문자
오늘
어제
  • 분류 전체보기 (95)
    • TDD (2)
      • 학점 산출 프로그램 (2)
    • IT (43)
      • 부스트코스 (18)
      • CS50 (3)
      • 도서추천 알고리즘 (2)
      • 스터디 일정 (3)
      • 스프링 (3)
      • 프로젝트 개발 중 발생한 에러 (8)
      • 웹개발 (3)
      • DB (3)
    • 독서 후기 (12)
      • 도서 (12)
    • e북 (3)
    • 알고리즘 (26)
    • 프로젝트 (6)
      • 향수 (6)
    • 회고 (1)

블로그 메뉴

  • 홈

공지사항

인기 글

티스토리

hELLO · Designed By 정상우.
글쓰기 / 관리자
은세고화

뚜렷한 기억보단 흐릿한 잉크를

알고리즘

백준 1931 파이썬

2021. 11. 17. 12:30
반응형

https://www.acmicpc.net/problem/1931

 

1931번: 회의실 배정

(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.

www.acmicpc.net

 

두 번의 정렬을 하면 된다. 끝나는 시간 기준으로 정렬을 하고 시작시간 기준으로 다시 정렬을 진행하면 된다.

파이썬의 경우 람다식으로 해결할 수 있다.

time.sort(key=lambda x: (x[1], x[0]))
 

이렇게 정렬한 후 입력값은 다음과 같이 바뀐다.

[(1, 4), (3, 5), (0, 6), (5, 7), (3, 8), (5, 9), (6, 10), (8, 11), (8, 12), (2, 13), (12, 14)]

 

 

정렬된 수를 보면 시작시간이 끝나는 시간보다 크거나 같은 수만 채택하면 된다.

 

n = int(input())
time = []
for i in range(n):
    a, b = map(int, input().split())
    time.append((a, b))
time.sort(key=lambda x: (x[1], x[0]))
start = count = 0

for i in time:
    if i[0] >= start:
        count += 1
        start = i[1]
print(count)
반응형
저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

백준 2636 치즈 자바  (0) 2022.03.05
백준 3085 파이썬  (0) 2021.11.23
백준 1541 파이썬  (0) 2021.11.18
백준 13305 주유소 파이썬  (0) 2021.11.17
백준 1449 파이썬  (0) 2021.11.17
    '알고리즘' 카테고리의 다른 글
    • 백준 3085 파이썬
    • 백준 1541 파이썬
    • 백준 13305 주유소 파이썬
    • 백준 1449 파이썬
    은세고화
    은세고화

    티스토리툴바