[백준] 14430: 자원 캐기 (파이썬)
·
코딩테스트/BOJ
📌 문제 조건오른쪽으로 한 칸, 아래쪽으로 한 칸만 이동할 수 있다.자원이 있는 지역을 1, 없는 지역을 0이라고 한다. 📌 구해야 하는 정답   로봇이 (1,1)이 (N,M)까지 이동하며서 캘 수 있는 최대 숫자를 구해야 한다. 📌 풀이 하기(n, m) 자리에서 캘 수 있는 최대 광석의 갯수는 바로 왼쪽인 (n, m - 1)의 최대 광석의 수와 바로 위인 (n - 1, m)의 최대 광석의 수 중에서 MAX의 값에 본인의 값을 더한 값과 같다고 볼 수 있다.따라서 dp의 점화식은 아래와 같다. D[ i ][ j ] = max(  D[ i - 1 ][ j ],  D[ i ][ j  - 1] ) +  S[ i ][ j ] 주의할 부분은 1열과 1행 각각의 D[ i ][ j ] 값은 그 이전의 값이 될 ..
[백준] 10026: 적록색약
·
코딩테스트/BOJ
▶ 문제 탐색하기재귀함수를 이용해서 최소한 점프할 수 있는 방법을 탐색한다.  ◇ 입력첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100)둘째 줄부터 N개 줄에는 그림이 주어진다. ◇ 원하는 출력 조건적록색약이 아닌 사람이 봤을 때의 구역의 개수와 적록색약인 사람이 봤을 때의 구역의 수를 공백으로 구분해 출력한다.가능한 시간복잡도  알고리즘 선택- BFS 알고리즘 사용▶ 코드 설계하기  ▶ 회차별 수정사항 ▶ 정답 코드import sysdx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]N = int(sys.stdin.readline())graph = []for _ in range(N): graph.append(list(sys.stdin.readline().strip()))def bfs(..
[백준]27737번: 버섯농장
·
코딩테스트/BOJ
▶ 문제 탐색하기재귀함수를 이용해서 최소한 점프할 수 있는 방법을 탐색한다.  ◇ 입력징검다리 개수 N (1~10,000 정수)N개의 징검다리에 쓰여진 자연수 ---> arr =[]시작 a번째 징검다리, 도착 b번째 징검다리 ◇ 원하는 출력 조건 a번 징검다리에서 b번 징검다리로 최소 몇 번 점프해서 갈 수 있는지? 만약 갈 수 없다면 -1 출력N : 나무판 길이 (1≤N≤100)M : 버섯 포자의 수 (0≤M≤1,000,000)K : 버섯이 자라는 최대 칸수 (1≤K≤108)버섯 포자를 최소 개수로 심을 때 농사가 가능하지 판단하고, 가능하면 남은 버섯 포자 개수를 출력하는 문제이다.가능한 시간복잡도  알고리즘 선택- BFS 알고리즘 사▶ 코드 설계하기위의 조건으로 버섯 포자를 심을 때 최소 개수만 이..
[백준] 1326: 폴짝폴짝 (파이썬)
·
코딩테스트/BOJ
https://www.acmicpc.net/problem/1326난이도: 실버2▶ 문제 탐색하기재귀함수를 이용해서 최소한 점프할 수 있는 방법을 탐색한다.  ◇ 입력징검다리 개수 N (1~10,000 정수)N개의 징검다리에 쓰여진 자연수 ---> arr =[]시작 a번째 징검다리, 도착 b번째 징검다리 ◇ 원하는 출력 조건 a번 징검다리에서 b번 징검다리로 최소 몇 번 점프해서 갈 수 있는지? 만약 갈 수 없다면 -1 출력  가능한 시간복잡도  알고리즘 선택- BFS 알고리즘 사▶ 코드 설계하기 1. 가장 먼저, arr[ a-1 ] 시작점 값과 뛰어야하는 전체 거리 ( b-a )를 찾는다.   2. 만약 전체 거리가 시작점 값으로 나누어 떨어진다면 한 번에 뛰어 건널 수 있다.①  if (b-a) % a..
[백준] 2805: 나무 자르기 (파이썬, 이분 탐색)
·
코딩테스트/BOJ
https://www.acmicpc.net/problem/2805▶ 구해야하는 것입력: 나무의 수: N, 자를 나무의 총 길이: M (나무의 길이는 최대 2억...)         N개의 나무의 높이 (1억 보다 작거나 0이상이다)출력: 적어도 M만큼 가져가기 위해 설정한 높이의 최댓값(H)을 찾는다.!!▶ 풀이 탐색O(log H): 나무의 높이(H)를 이분 탐색한다.O(N): 각 나무마다 잘릴 수 있는지 확인한다.총 O(NlogH)의 시간 복잡도가 소요된다. 약 천만 이므로 시간 제한에 어긋나지 않음아이디어: 목재절단기 H가 클수록 가져갈 수 있는 나무 길이는 작아지고,  H가 작을수록 커진다.적절한 높이(H)를 찾을 때까지 이진탐색을 수행하며 반복해서 H를 조정한다.현재 이 높이로 자르면 조건을 만족..