본문 바로가기

그리디2

[python 구름] 구름 스퀘어 📜 접근 방법 회의실 배정과 같은 문제는 그리디 알고리즘으로 푼다 종료시간이 빠른 기준으로 우선순위를 잡는다. 시작 시간과 종료 시간을 받아 리스트에 넣는다. 우선순위는 첫번째로 종료시간이 빠르고, 두번째론 시작시간이 빠른 순으로 정렬한다. events를 돌면서 시작 시간 보다 종료 시간이 적을 경우 cnt + 1 해주고 종료 시간을 변경해준다. ❌ 실패 코드 ✅ 정답 코드 import sys input = sys.stdin.readline n = int(input()) events = [] for _ in range(n): s, e = map(int, input().split()) events.append([s, e]) events.sort(key = lambda x : (x[1], x[0])) cnt.. 2023. 5. 20.
[python 백준 1439] 뒤집기 📜 접근 방법 주어진 숫자를 보고 두가지로 나눴다. 1. 모든 숫자를 0으로 뒤집을 경우 (ex)000000) 2. 모든 숫자를 1로 뒤집을 경우 (ex)111111) 위의 경우를 보고 첫번째의 경우: 1이면 count + 1 두번째의 경우 : 0이면 count + 1 단, 이전 숫자가 현재 숫자와 같으면 count하지 않는다. (연속되는 수가 같을 경우) ex) 0001100 첫번째 경우 4번째(1)에서 count한다. 5번째(1)에선 이전 숫자(1)가 같기 때문에 count 안한다. => 총 1번 두번째 경우 첫번째(0)에서 count한다. + 1 두번째, 세번째에선 count 하지 않음(이전 숫자와 같으니 이미 count가 되어있음) 6번째(0)에서 count한다. + 1 6번째(0)에서 count.. 2023. 1. 25.