실버1
-
[백준] 2002 - 추월알고리즘 2023. 5. 17. 17:36
1. 문제 https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net 2. 접근 1. 데이터를 받아올 때 인덱스 값을 통해서 그 값을 통해 출구를 나갈때 차들의 순서를 확인하려고 한다 2. 입구와 출구를 left, right로 나눠서 보자 3. LIS를 로직으로 출구에서 나오는 차들의 idx를 파악해보자 그러면 답이 나온다 또 다른 방법은 -> 1~n까지는 dict 에 넣고 n+1 ~2*n까지는 stack에 넣어서 판단을 해볼 수 있다. ..
-
[백준] 2564 - 경비원알고리즘 2023. 5. 16. 17:42
1. 문제 https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 2. 접근 1. 문제가 하고자 하는 말은 동근이의 입장에서 특정 상점들까지 가는데 시계방향이 빠르냐 반시계 방향이 빠르냐를 구분하면 되는 것이다. 2. (0,0) 지점을 기준으로 시계방향으로 이동한다고 기준을 잡고, 동서남북에 위치해 있는 상점들에 들리면서 거리를 구한다. 3. 가장 마지막에 동근이의 위치가 나오니까 len(res) - 1 의 범위를 갖고 모든 상점을 res[-1]과 비교해서..
-
[백준] 1713 - 후보 추천하기알고리즘 2023. 5. 13. 16:12
1. 문제 https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 2. 접근 1. 이 문제는 문제의 지문을 따라서 그대로 구현하면 된다. 2. 추천 받기 { candidate 는 dict임을 인지 } 2.1 -> 추천을 받은 것중 candidate에 없다 2.1.1 -> len(candidate) 과 n을 비교해서 n보다 크거나 같다 2.1.1.1 -> heap으로 가장 작은값을 제거 2.1.1.2 -> 새롭게 heap에 데이터 추가 2.2 ..
-
[백준] 14716 - 현수막알고리즘 2023. 5. 13. 16:07
1. 문제 https://www.acmicpc.net/problem/14716 14716번: 현수막 혁진이의 생각대로 프로그램을 구현했을 때, 현수막에서 글자의 개수가 몇 개인지 출력하여라. www.acmicpc.net 2. 접근 1. '이코테 - 음료수 얼려먹기' 의 로직과 일치한다. 다만 대각선을 대비해준다 -> board[x][y]이 1일때 글자가 이어지는 부분임을 인지해서 재귀적으로 dfs()를 호출해준다 2. 재귀함수가 대각선이 추가됨으로써 RecursionError를 대비해야 한다 3. 풀이 #14716 실버1 import sys input = sys.stdin.readline sys.setrecursionlimit(10**9) n,m = map(int,input().split()) board..