본문 바로가기

Algorithm/baekjoon65

backjoon 11055: 가장 큰 증가 부분 수열 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net dp를 이용한 문제.. dp개념을 잘 이해하지 못한 나에겐 조금 힘든 문제였다.. n=int(input()) arr=list(map(int, input().split())) result = [1]*n result[0] = arr[0] for i in range(1,n): for j in range(i): if arr[i] > arr[j]:.. 2022. 5. 19.
backjoon 2469: 사다리 타기 https://www.acmicpc.net/problem/2469 2469번: 사다리 타기 첫 줄에는 참가한 사람의 수 k가 나온다(3 ≤ k ≤ 26). 그 다음 줄에는 가로 막대가 놓일 전체 가로 줄의 수를 나타내는 n이 나온다(3 ≤ n ≤ 1,000). 그리고 세 번째 줄에는 사다리를 타고 난 후 결정 www.acmicpc.net 로직을 간단하게 설명 하자면, 1. 시작하는 알파벳과 도착한 알파벳이 ?로 되어있는 배열에 맞닿을 때 까지 움직인다. 2. 맞닿았을 때 서로 한칸차이가 난다면 "-", 서로 차이가 나지 않는다면 "*", 서로 두칸이상 차이가 난다면 "x"*n개 만큼 출력이 되게 한다. ABC=['A','B','C','D','E','F','G','H','I','J','K','L','M',.. 2022. 5. 17.
baekjoon 14606: 피자(small) https://www.acmicpc.net/problem/14606 14606번: 피자 (Small) 예제1의 입력이 1이므로, 게임 시작부터 갑이 분리할 수 있는 피자탑이 없습니다. 따라서 갑이 얻는 즐거움은 0입니다. 예제2의 정답 3은 다음과 같은 과정을 통해 얻어집니다. 먼저 놀이를 시작 www.acmicpc.net dp를 이용해서 푸는 문제 n =int(input()) arr = [0,0] def dp(n): global arr if n == 0: return 0 if n == 1: return 0 # arr = [0,0] for i in range(2, n+1): a = i//2 if i - (i//2) == i//2: b = i//2 else: b = 1+(i//2) num = a * b a.. 2022. 5. 17.
baekjoon 2589: 보물섬 https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net bfs와 브루스포스 알고리즘으로 한칸씩 육지를 밟을때 시간을 체크해준다. 하나의 섬(?)에서 최단거리측정하는 방식으로 최대거리를 구하면 된다. #문제에 설명이 잘 되어있습니다ㅎㅎ. 그렇다면 코드는 from collections import deque n, m = list(map(int,input().split())) arr = [list(input())for _ in range(n)] lst = [[.. 2022. 4. 26.
baekjoon 2468: 안전영역 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 비가올때 장마철 물에 잠기지 않는 안전한 영역의 최대 개수를 출력하는 문제이다. 2차원 배열의 숫자들은 건물의 높이를 의미하고, 건물들의 군집?의 갯수들을 확인하여 최다군집을 구하면 된다. 비가 하나도 안왔을시, 건물군집은 1이되고 비가 건물의 최대높이까지 왔을시 건물군집은 0이된다. 난 flood fill 알고리즘을 이용하여, 비가 0만큼 내렸을때부터 건물최대높이까지 내렸을때까지 result라는 빈배열.. 2022. 4. 16.