목록Algorithm/Backjoon (97)
gambae programing
https://www.acmicpc.net/problem/5568 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 풀이과정 1. 순열을 이용한다. 2. 중복처리를 해준다. 정답 느낀점 1. easy
https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 풀이과정 1. 강을 나타내는 리스트를 만들어준다. 2. river가 존재할때까지 시간을 1씩더해주고 river의 맨앞의 값을 pop해준다. 3. 트럭의순서대로 다리의 하중을 넘지않으면 추가해주고 넘으면 0을 추가해준다. 정답 느낀점 1. 단순구현문제였다. 2. 직관적으로 코드를 짤수있는 능력이 중요하다.
https://www.acmicpc.net/problem/4358 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 풀이과정 1. 트리리스트에 나무들을 입력받고 카운터함수로 딕셔너리로 바꿔준다. 2. 백분율을 구해서 소수점 네번째자리까지 출력한다. 정답 느낀점 1. 문제에서 반올림해서 출력하라길래 round함수썻는데 계속 틀리게 나온다. 2. 문제가 좋지않다.
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. 최대,최소를 구할때는 힙을 떠올려보자.