본문 바로가기
반응형

전체 글252

[프로그래머스][Python] 이중우선순위큐 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from heapq import heappush,heappop def solution(operations): max_h = [] min_h = [] for i in operations: comm, num = i.split() if comm == 'I': heappush(max_h,-int(num)) heappush(min_h,int(num)) elif comm == 'D' and min_h: if int(num) == 1: #최댓값 삭제 n = -heappop(max_h) min_h.remove(n) e.. 2023. 2. 3.
[백준][Python] 1417번 국회의원 선거 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 코드 import heapq n = int(input()) vote = [] one = int(input()) for _ in range(n-1): heapq.heappush(vote,-int(input())) ans = 0 while vote: first = -heapq.heappop(vote) if first < one: break first -= 1 heapq.heappush(vote,-first) one += 1 ans += 1 print(ans) 2023. 2. 1.
[백준][Python] 11866번 요세푸스 문제 0 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 코드 from collections import deque n,k = map(int,input().split()) dq = deque([i for i in range(1,n+1)]) ans = [] cnt = 0 while dq: a = dq.popleft() cnt += 1 if cnt == k: ans.append(a) cnt = 0 else: dq.append(a) print("") 2023. 1. 31.
[프로그래머스][Python] 두 큐 합 같게 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import deque def solution(queue1, queue2): queue1 = deque(queue1) queue2 = deque(queue2) sum1 = sum(queue1) sum2 = sum(queue2) cnt = 0 l = len(queue1) for _ in range(l*4): if sum1 < sum2: num = queue2.popleft() queue1.append(num) sum1 += num sum2 -= num cnt += 1 elif.. 2023. 1. 30.
[백준][Python] 13904번 과제 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 코드 n = int(input()) n_list = [] for _ in range(n): day,score = map(int,input().split()) n_list.append((day,score)) n_list.sort() hw = [] n = n_list[-1][0] ans = 0 for i in range(n,0,-1): while n_list and n_list[-1][0] == i: hw.append(n_list.pop()[1]) hw.sort() if hw: ans += hw.pop() pr.. 2023. 1. 26.
[백준][Python] 10816번 숫자 카드 2 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 코드 import sys from collections import defaultdict dic = defaultdict(int) n = int(input()) n_list = list(map(int,sys.stdin.readline().split())) for i in n_list: dic[i] += 1 m = int(input()) m_list = list(map(int,sys.stdin.readline().split())) .. 2023. 1. 25.
[백준][Python] 1213번 팰린드롬 만들기 1213번: 팰린드롬 만들기첫째 줄에 문제의 정답을 출력한다. 만약 불가능할 때는 "I'm Sorry Hansoo"를 출력한다. 정답이 여러 개일 경우에는 사전순으로 앞서는 것을 출력한다.www.acmicpc.net 코드 from collections import Countername = list(map(str,input()))name.sort()count = Counter(name)odd = 0odd_alpha = ''ans = ''for i in count: if count[i] % 2 != 0: odd += 1 odd_alpha += i for _ in range(count[i]//2): ans += iif odd > 1: print("I'm Sorry Hansoo")elif odd == 0:.. 2023. 1. 20.
[백준][Python] 15903번 카드 합체 놀이 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 코드 import heapq n,m = map(int,input().split()) n_list = list(map(int,input().split())) heapq.heapify(n_list) for _ in range(m): a = heapq.heappop(n_list) b = heapq.heappop(n_list) heapq.heappush(n_list,a+b) heapq.heappush(n_list,a+b) print(.. 2023. 1. 19.
[백준][Python] 1920번 수 찾기 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 코드 def find(num): f = 0 e = n-1 while f n_list[mid]: f = mid+1 else: e = mid-1 return 0 n = int(input()) n_list = list(map(int,input().split())) n_list.sort() m = int(input()) m_list = list(map(int,input().split())) for i in m_list: .. 2023. 1. 18.
반응형