목록전체 글 (196)
gambae programing
https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 정수 www.acmicpc.net 풀이과정 1. 이중스택을 만들어준다. 2. 프렛의 번호를 스택에 넣어주고 y가 가장 스택에서 크거나 같은값이 되도록 제거해준다. 정답 느낀점 1. [0] 을 만드니깐 코드길이가 확 줄었다.
https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 풀이과정 1. a와b의 차집합, b와a의 차집합의 길이의 합을 구해준다. 정답 느낀점 1. easy
https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 풀이과정 1. 넓이를 저장할 스택을 만들어준다. 2. x,y를 입력받으면서 x 인덱스의 위치에 높이 y를 넣어준다. 3. 스택의 좌우에서부터 최고값까지 넓이를 초기화 시켜주면서 반복한다. 정답 느낀점 1. 최고값을 기준으로 좌우에서 넓이를 초기화하면서 반복하는게 핵심이다.
https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 풀이과정 1. 최소힙을 사용한다. 2. 카드 2장을 pop한뒤 더한값을 다시 push해준다. 정답 느낀점 1. 리스트를 힙으로 만들때는 heapq.heapify(list) 2. 최대,최소를 구할때는 힙을 떠올려보자.
https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 풀이과정 1. 본숫자가 여러개여도 한개만 판별하면되니 set로 중복처리를해준다. 정답 느낀점 1. 중복일때는 set
https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 풀이과정 1. 덱을 enumerate함수를 이용해서 만들어준다. 2. 덱을 항상 popleft해주면서 덱을 rotate함수로 바꿔준다. 정답 느낀점 1. rotate함수에 대해서 처음알았다. 2. enumerata함수를 적절히 이용해야겠다. 3. 실버문제인데 개어렵다.
https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 풀이과정 1. 단순 해시 구현 정답 느낀점 1. easy
https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 풀이과정 1. 높이리스트에 뒤에서부터 for문을 돌면서 시작값보다 크면 max값을 초기화 시켜준다. 정답 느낀점 1. easy
https://www.acmicpc.net/problem/17219 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 풀이과정 1. n번만큼 딕셔너리를 생성해주고 m번만큼 딕셔너리의 밸류값을 출력해주면 된다. 정답 느낀점 1. easy