https://www.acmicpc.net/problem/17503코드from heapq import heappop, heappushimport sysinput = sys.stdin.readlinen, m, k = map(int, input().split())beers = []for _ in range(k): v, c = map(int, input().split()) # 선호도, 도수 레벨 beers.append([v, c])beers.sort(key=lambda x: x[1]) # 도수 레벨 오름차순 정렬def solution(): picked = [] # 고른 맥주들 preference = 0 # 고른 맥주들의 선호도 합 for b in beers: ..
자료구조
해당 포스팅은 MDN Web Docs의 JavaScript의 타입과 자료구조 중 일부를 요약한 내용입니다. 우선 어떤 데이터 타입이 있는지 먼저 알아보자.데이터 타입1. Number : 매우 큰 정수를 제외한 모든 숫자값(정수 및 부동 소수점)2. BigInt : 임의의 큰 정수3. String : 문자열4. Boolean : true/false, 일반적으로 조건 논리에 사용5. Symbol : 충돌하지 않는 고유 식별자를 만드는 데 사용6. Undefined : 변수에 값이 할당되지 않았음을 나타냄7. Null : 의도적으로 값이 없음을 나타냄. 다른 모든 것은 객체라고 한다. 일반적인 객체 타입은 다음과 같다. 1. Function : 함수의 메서드를 제공. 자바스크립트에서 모든 함수는 사실 Func..
https://www.acmicpc.net/problem/7785 코드n = int(input())exist = set()for _ in range(n): name, io = input().split() if io == "enter": exist.add(name) else: exist.remove(name)e_lst = sorted(list(exist))for i in range(len(e_lst)-1, -1, -1): print(e_lst[i])
https://www.acmicpc.net/problem/2493 코드n = int(input())towers = list(map(int, input().split()))stack = []ans = [0]*nfor i in range(n): while stack and stack[-1][0] for문을 i까지 돌았을 때 stack에는 towers[i-1]와 그보다 큰 타워들만 저장되어 있다. i번째 타워는 스택에서 자신보다 작은 타워는 다 pop하고 스택의 top, 즉 자신보다 큰 타워의 인덱스+1을 ans[i]에 저장하면 된다. 문제의 테스트케이스로 예를 들자면,위의 예시에서는 높이가 4인 5번째 타워까지 왔을 때 스택에 저장된 타워는 바로 이전 타워인 4번과 그보다 더 큰 타워인 2번이다.그러..
https://www.acmicpc.net/problem/10867 코드#include #include using namespace std;int main(){ int n; cin >> n; set s; int tmp; for(int i=0;i::iterator iter=s.begin();iter!=s.end();iter++){ printf("%d ", *iter); } return 0;} 이 문제는 집합을 이용하여 풀면 쉽게 풀 수 있다. 다행히 C++에는 집합이 이미 구현되어 있기 때문에 가져다 쓸 수 있다.#include 집합에 입력받은 수들을 넣었다가 출력해주기만 하면 되는데, set은 기본적으로 원소를 넣을 때마다 정렬되어서 삽입되므로 정렬해줄 ..