본문 바로가기
반응형

알고리즘 풀이164

[백준 16435] 스네이크버드 (python) https://www.acmicpc.net/problem/16435 16435번: 스네이크버드 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. www.acmicpc.net 스네이크버드 문제 스네이크버드가 자기보다 길거나 같은 높이에 있는 과일을 먹을 때 최대 길이 구하는 문제 #사용 알고리즘 그리디 정렬 📌문제 접근 포인트 1. 스네이크버드는 자신의 길이보다 길거나 같은 과일을 먹을 수 있고, 먹을 때마다 1씩 증가한다. 여기서 과일의 위치와 상관없이 사이즈에 해당하는 크기가 존재한다면 먹을 수 있다. 2. 오름차.. 2023. 10. 2.
[백준 14433] 한조 대기 중(python) https://www.acmicpc.net/problem/14433 14433번: 한조 대기 중 첫째 줄에 한 팀에 속한 플레이어의 수 N(1 ≤ N ≤ 300)과 트롤픽의 수 M(1 ≤ M ≤ 300), 각 팀의 팀원들이 원하는 트롤픽의 수 K1, K2(1 ≤ K1, K2 ≤ 500)가 주어진다. 다음 K1개의 줄에 걸쳐 두 수 i, j(1 ≤ www.acmicpc.net 한조 대기 중 문제 트롤 픽에 따라 욱제가 이길 수 있는지 없는지 확인하는 문제 #사용 알고리즘 이분 매칭 📌문제 접근 포인트 ※ 문제 자체는 이분 매칭 알고리즘 구현 방법만 알면 쉽게 해결 할 수 있는 문제 1. 배정할 수 있는 트롤픽 수를 구하기 위한 방법을 생각해보자. 각각의 고를 수 있는 트롤픽의 경우를 찾기 위해서 이분 매칭.. 2023. 7. 18.
[백준 1467] 수 지우기(python) https://www.acmicpc.net/problem/1467 1467번: 수 지우기 첫째 줄에 세준이가 가지고 있는 N자리의 수가 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄에 세준이가 지울 숫자들이 공백 없이 주어진다. 지울 숫자의 개수는 N보다 작으며, 항상 www.acmicpc.net 수 지우기 문제 N자리의 수에서 몇 개의 수를 지웠을 때 만들 수 있는 가장 큰 수를 구하는 문제 #사용 알고리즘 그리디 스택 📌문제 접근 포인트 1. 각 수를 지우기 위해서 일단 주어진 숫자(N)의 종류와 갯수, 지워야하는 숫자(R)의 종류와 갯수를 각각 카운팅 배열을 통해 구성해보자. 2. for문을 통해 N을 탐색하면서, 주어진 수가 존재하고, 지울 수 있는 숫자랑 갯수가 같으면 각각에서.. 2023. 7. 14.
[백준 21608] 상어 초등학교(python) https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 상어 초등학교 문제 조건에 맞게 학생을 배치 할 경우의 학생의 만족도의 합을 구하는 문제 #사용 알고리즘 정렬 📌문제 접근 포인트 1. 요구 조건이 생각보다 많으므로 요구 조건을 잘 파악하자. 2. |r1-r2|+|c1-c2|=1을 만족하는 두 칸의 의미는 즉, 해당 칸 기준 +에 위치한 칸을 의미한다. +를 탐색할 수 있게 구성해보자. 3. 비어있는 칸 중에서 좋아하는 학생이 인접한 .. 2023. 7. 14.
[백준 1071] 소트 (python) https://www.acmicpc.net/problem/1071 1071번: 소트 N개의 정수가 주어지면, 이것을 연속된 두 수가 연속된 값이 아니게 정렬(A[i] + 1 ≠ A[i+1])하는 프로그램을 작성하시오. 가능한 것이 여러 가지라면 사전순으로 가장 앞서는 것을 출력한다. www.acmicpc.net 소트 문제 A[i] + 1 ≠ A[i+1]을 만족하도록 재정렬했을 때 사전 순으로 앞서는 경우를 출력하는 문제 # 사용 알고리즘 그리디 📌문제 접근 포인트 1. 요구 조건에 대해서 생각해보자. A[i] +1 ≠ A[i+1] 을 만족할 수 있게 가장 쉽게 접근하려면 카운팅 배열을 사용하면 유리하다. 카운팅 배열을 구성해보자. 2. 카운팅 배열을 만들었으면, A[i] +1 ≠ A[i+1]는 카운팅 배.. 2023. 6. 29.
[백준 2636] 치즈 (python) https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 치즈 문제 공기 중에 닿은 치즈를 1시간에 한번씩 녹여갈 때, 걸리는 시간과 녹기 1시간 전 남아있는 치즈 조각을 찾는 문제 # 사용 알고리즘 너비 우선 탐색 📌문제 접근 포인트 1. 외부와 닿아있는 치즈를 찾을 방법을 생각해보자. 단순게 생각했을 때 (0,0)부터 시작해서 0인 부분을 기준으로 탐색을 하고, 0과 맞닿아 있는 1만을 따로 녹여주는 방법을 생각해보자. 2. 맞닿은 치즈를 따로 모아서 한번에 녹여주고,.. 2023. 6. 27.
반응형