
💡 문제 해결 아이디어 완주한 선수들의 이름을, 참가자들의 이름에서 하나씩 지워도 될 것 같다. 하지만, 동명이인이 있을 경우에 머리가 아파진다🥲 간단하게, 각 이름마다 사람이 몇명 있는지 세보자! 파이썬 기본 내장 함수인 Counter를 이용해서! 💻 작성된 코드 # Python 내장 함수인 Counter 활용 from collections import Counter def solution(participant, completion): # Counter를 이용하여 이름당 사람수를 센다. part, comp = Counter(participant), Counter(completion) # 모든 참가자들의 이름과 사람수에 대해서 for name, cnt in part.items(): # 만약 해당 이름이 ..

💡 문제 해결 아이디어 적어도 무적권 개수, k개만큼의 라운드는 막을 수 있다: 그러니 k+1번째 라운드부터 시작. 라운드가 진행될 때마다, (기존에 무적권을 썼던 k개 라운드 + 새로운 라운드) 중에서 가장 적은 enemy의 라운드의 무적권 사용을 포기한다. 가장 적은 enemy의 수를 알아내기 위해, 라운드가 진행될때마다 "정렬"하는 것은 비효율적이다. 정렬 대신 최소or최대 값을 뽑아내는데에 최적화된 "heap"이라는 자료구조를 사용하자! 이때, "(무적권 사용을 포기한 라운드의 enemy) > (남아 있는 병사)" 라면 게임종료! 아니라면, enemy만큼 남아 있는 병사를 차감하고, 다음 라운드를 진행한다! 💻 작성된 코드 # heapq 라이브러리 활용 import heapq def solutio..
- Total
- Today
- Yesterday
- 가장 가까운 글자 파이썬
- 프로그래머스 아이템줍기
- 프로그래머스 햄버거 만들기
- 프로그래머스 파이썬
- 큐
- Attend and Excite
- Low Manifold Theory
- 코테
- 연습문제
- stablediffusion
- python
- OpenAI
- 코딩테스트
- 프로그래머스 연속된수의합
- leetcode
- 스테이블디퓨전
- heapq
- 문자열 나누기 파이썬
- Stable Diffusion
- 인공지능
- ChatGPT
- 프로그래머스 가장 가까운 글자
- 파이썬
- 그리디
- 디펜스
- 프로그래머스 문자열 나누기
- 프로그래머스
- heap
- 알고리즘
- BFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |