목록구현 (98)
어흥
문제 링크: programmers.co.kr/learn/courses/30/lessons/43237 코딩테스트 연습 - 예산 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그�� programmers.co.kr 1. 주의할 점 - 이분탐색을 통해 접근하며, 입력 받는 벡터를 미리 Sort 하면 편하다 2. 구현 - 입력 받는 벡터를 Sort한 후, 이분탐색을 통해 상한액을 Mid만큼으로 잡았을 때, M 이하의 예산으로 배분 가능하면 Mid를 늘리고, 아니라면 Mid를 줄이면서 Mid를 구한다 - Mid로 배분이 가능할때마다 Answer의 값을 Mid로 갱신한다 #inclu..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 매 TC마다 Check[][],Arr[][] 배열을 초기화한다 - Avail[][] 배열을 미리 만들어서 적용한다 2. 구현 - 시작위치인 맨홀에 1초때 도착했다고 설정한다 - Bfs() 함수를 통해 탈주범의 이동경로를 Avail[][] 배열을 이용하여 이동할 수 있는곳을 표시한다 - Ans() 함수를 통해 탈주범의 이동 가능한 위치를 계산한다 import java...
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWAe7XSKfUUDFAUw SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 2가지의 조건을 통해 TLE를 예방한다 1) 저울에 올릴 때, 오른쪽의 총합 > 왼쪽의 총합이 된다면 무조건 왼쪽에만 추가한다 2) 남은 저울을 모두 오른쪽에 올려도 오른쪽의 총합
문제 링크: https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWlGyBQqaEgDFASG SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - Check[idx] 배열을 만들어서 값을 기록해놓는다(idx의 경우 최대 몇 번의 Turn이 가능한지) 2. 구현 - 초기에 Check[] 배열을 전부 -1로 초기화하고 한 자리 숫자는 0으로 초기화 한다 - DFS(Sum,Tot,Ss,V)를 통해 해당 Ss를 몇 부분으로 쪼갤 수 있는지 벡터 V에 담는다 - Sum==Tot인 경우, V의 Size가 1..
문제 링크: https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 1. 주의할 점 - DP처럼 진행한다 - 가장 긴 증가하는 부분 수열을 어떤 방식으로 담을 건지 생각한다 2. 구현 - 배열을 입력받으면서, Result[]배열도 초기화 작업을 한다 - i: 1~Num-1, j: 0~i-1까지 반복하면서 Arr[i]>Arr[j]를 만족한다면 Result 배열의 인자를 비..
문제 링크: https://www.acmicpc.net/problem/16434 16434번: 드래곤 앤 던전 첫 번째 줄에 방의 개수 N (1 ≤ N ≤ 123,456) 과 용사의 초기 공격력 HATK (1 ≤ HATK ≤ 1,000,000) 가 주어집니다. i+1번째 줄엔 i번째 방의 정보를 나타내는 세개의 정수 ti, ai, hi (ti ∈ {1, 2}, 1 � www.acmicpc.net 1. 주의할 점 - 이분탐색을 사용한다 - 몬스터와 싸울 경우, While문을 통해 모든 과정을 반복하지 않는다-> While문 사용하면 TLE 발생 2. 구현 - Left = 1, Right = LLONG_MAX로 설정하며 이분탐색을 시작한다 - Cal(Mid) 함수를 통해 Mid의 체력으로 용사가 공주를 구할..
문제 링크: https://www.acmicpc.net/problem/16137 16137번: 견우와 직녀 첫째 줄에 지형의 행과 열의 크기를 나타내는 정수 N (2 ≤ N ≤ 10)과 새로 만들어지는 오작교의 주기를 의미하는 정수 M(2 ≤ M ≤ 20)이 주어진다. 다음 N개의 줄에는 줄마다 배열의 각 행을 나 www.acmicpc.net 1. 주의할 점 - 교차로인 경우 오작교를 짓지 못하도록 한다 - 연속으로 다리를 건널 수 없다 - 1칸씩 이동한다 2. 구현 - 맵을 입력 받은 후, 교차로의 경우 좌우/상하 를 확인하여 옆에 칸이 땅이 아닌 경우 +1씩 하여 둘다 1이상을 기록할 경우, 교차로라고 판단 -> Arr[][]의 값을 -1로 변경 - BFS를 통해 구현 - 이동하려는 칸이 땅인 경우,..
문제 링크: https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWSHOpR6f_sDFARw SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 매 TC마다 Check[][][]를 초기화해준다 - M의 주기마다 생성되는 오작교는 최대 1번만 만든다 - 크기가 2 이상인 배열은 위의 오작교와 별도로 작성한다 2. 구현 - BFS를 통해 구현한다 - Check[][][]: Y,X,주기가 M인 오작교를 만든 경우: 1, 안만든 경우: 0 - 구조체(Y,X 좌표값, State: 방금전에 오작교를 지났다..