목록 code review/greedy (13)
KEEP GOING
https://www.acmicpc.net/submit/1244/37936486 로그인 www.acmicpc.net 0. 정답인 코드 n = int(input()) # idx 값 맞추기 위해 0번에 미지값 추가 bulbs = [-1] + list(map(int, input().split())) k = int(input()) students = [tuple(map(int, input().split())) for _ in range(k)] for sex, num in students: # 성별이 남자일때 if sex == 1: for i in range(num, n+1, num): bulbs[i] = 1 - bulbs[i] # 성별이 여자일때 else: bulbs[num] = 1 - bulbs[num] fo..
https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net n = int(input()) bulb = list(map(int, input())) target = list(map(int, input())) def change(A, B): L = A[:] press = 0 for i in range(1, n): # 이전 전구가 같은 상태면 pass if L[i-1] == B[i-1]: continue # 상태가 다를 경우 pres..
https://www.acmicpc.net/problem/2885 2885번: 초콜릿 식사 학교 근처 편의점에 새 초콜릿이 들어왔다. 이 초콜릿은 막대 모양이고, 각 막대는 정사각형 N개로 이루어져 있다. 초콜릿의 크기(정사각형의 개수)는 항상 2의 제곱 형태이다. 즉, 1, 2, 4, 8, 16, ... www.acmicpc.net 다음과 같이 k 값으로 6이 주어진 경우, 상근이가 구매해야하는 가장 작은 초콜릿의 사이즈는 2의 제곱수인 8이어야 하고 사이즈가 D일 경우, D/2으로만 자를 수 있다고 했기에 2번을 자르면 상근이가 원하는 초콜릿 6개를 만들 수 있다. 해당 알고리즘을 구현하자면 아래와 같다. import sys input = sys.stdin.readline # 초콜릿 먹는 개수 k =..
https://www.acmicpc.net/problem/1911 1911번: 흙길 보수하기 어젯밤 겨울 캠프 장소에서 월드 본원까지 이어지는, 흙으로 된 비밀길 위에 폭우가 내려서 N (1 start: start = cur # 널빤지의 개수 카운트 while start < end: start += L cnt += 1 cur = start print(cnt) 2. 코드 구현 import sys input = sys.stdin.readline N, L = map(int, input().split()) # 입력과 동시에 좌표 오름차순 정렬 pools= sorted(tuple(map(int, input().split())) for i in range(N)) # 널빤지의 개수, 웅덩이를 덮은 널빤지의 마지막 위..