728x90 반응형 그리디11 [백준] 1931번: 회의실 배정 - python https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 최대한 방을 사용할 수 있게 정렬하는 문제 일단 끝나는 순으로 정렬을 한다. 그 이유는 아무리 일찍하더라도 죽치고 사용하면 배정할때 후순위로 밀리기 때문에 일단 가장 일찍 끝나는 순으로 정렬을 한다. 그 후 순서대로 비교하면서 끝나는 시간과 그 다음 타임의 시작하는 시간이 같거나 크면 사용이 가능하므로 tmp라는 빈공간을 생성해 그 값을 계속 저장하면서 갯수를 증가시켜준다. 그러면 최대한 많이 사용하는 경우의 수가 나오게 된다. n = int(input()) arr = [] for i in range(n): st.. 2024. 3. 27. [백준] 11501번: 주식 - python https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net 생각한건 양 옆으로 비교하면서 크면 계속 옆으로 가면서 차이를 비교하는 방식 n = int(input()) for i in range(n): sum = 0 m = int(input()) arr = list(map(int, input().split())) for j in range(m-1): cnt = 0 idx = j while(arr[idx] = m-1: break sum += ar.. 2024. 3. 26. [백준] 2847번: 게임을 만든 동준이 - python https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net 게임 난이도를 순차적으로 생성하기 위해 처음엔 바텀업 방식을 사용하여 for을 첨부터 시작햇으나 감소시킬때 그 다음 바뀐 인덱스 숫자에 영향을 줌으로 탑다운 방식으로 접근해서 코드 작성함. n = int(input()) arr = [] for i in range(n): arr.append(int(input())) cnt = 0 for i in range(n-1, 0, -1): while arr[i] 2024. 3. 25. [백준] 1439번: 뒤집기 - python https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 단순히 바뀌는 횟수만 더한 다음에 2로 나누면 될까?라고 생각하고 코드 작성햇는데 정답. arr = list(input()) cnt = 0 for i in range(len(arr)-1): if arr[i] != arr[i+1]: cnt += 1 print((cnt+1)//2) 괜찮은거같다. 2024. 3. 25. 이전 1 2 3 다음 728x90 반응형