728x90
반응형

Algorithm Problems 125

[백준] [Python] RGB거리 - DP

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net Python i번째에 Red를 택했다면, Green을 택했다면, Blue를 택했다면, 이란 구조로 한 단계마다 전체 과정이 누적되어 진행할 수 있다 import sys input = sys.stdin.readline n = int(input()) rgbList = list(map(int,input().split())) for _ in range(n-1): rgb = list(..

Algorithm Problems 2021.06.15

[백준] [Python] 11726번, 11727번 2xn 타일링 - DP

https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net Python #1 1 #2 2 #3 3 #4 5 #5 8 n = int(input()) arr = [1,2] for i in range(n-2): arr.append(arr[-1]+arr[-2]) print(arr[n-1]%10007) https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램..

Algorithm Problems 2021.06.14

[백준] [Python] 1932번 정수 삼각형 - DP

https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net Python n = int(input()) dp = [0] dp.append(int(input())) # nn==1 cnt = 0 for n in range(1, n): k = list(map(int, input().split())) for r in range(1,len(k)+1): if r==1: # 왼쪽 끝 원소의 경우 dp.append(k[r-1] + dp[cnt+r])#(n-1, r)) #print(dp, dp[cnt+r], ", index =", cnt+r) ..

Algorithm Problems 2021.06.13

[백준] [Python] 2156번 포도주 시식 - DP

https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net Python import sys input = sys.stdin.readline n = int(input()) arr = [ int(input()) for _ in range(n) ] if n 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 w..

Algorithm Problems 2021.06.10

[백준] [Python] 1920번 수 찾기 - 이분 탐색 - [대표예제]

https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net Python import sys input = sys.stdin.readline n = int(input()) arr = list(map(int, input().split())) m = int(input()) nums = list(map(int, input().split())) arr.sort() for num in nums: left = 0 rig..

Algorithm Problems 2021.06.10

파이썬 입력값 받아오기

숫자 하나 6 n = int(input()) 문자열 하나 mdihsk string = input() 문자열 각각의 글자를 리스트의 하나 원소로 asdf234 -> ['a', 's', 'd', 'f', '2', '3', '4'] arr = list(input()) 여러 단어를 리스트 만들기 abc def gh iasgis -> ['abc', 'def', 'gh', 'iasgis'] arr = input().split() 숫자 변수 여러 개 4 9 3 n, m, k = map(int, input().split()) 숫자 리스트 만들기 4 9 3 -> ['4', '9', '3'] -> [4, 9, 3] arr = list(map(int, input().split())) 세로로 여러 개 입력될 경우 4 # 리스..

Algorithm Problems 2021.06.10

[백준][Python] 3078번 좋은 단어 - 큐

https://www.acmicpc.net/problem/3078 3078번: 좋은 친구 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 300,000, 1 ≤ K ≤ N) 다음 N개 줄에는 상근이네 반 학생의 이름이 성적순으로 주어진다. 이름은 알파벳 대문자로 이루어져 있고, 2글자 ~ 20글자이다. www.acmicpc.net Hint 이름 길이 별로 큐를 생성 Python import sys n, k = map(int, sys.stdin.readline().split()) #arr = [ sys.stdin.readline().rstrip() for _ in range(n) ] #성적 순 # 규칙 : 반 등수의 차이가 자신과 K가 넘으면 친구가 아니다 # 좋은 친구 : 친구 중에서 이름의 길이가 같은..

Algorithm Problems 2021.06.06

[Cos Pro 1급] 3차 4번 - 가장 짧은 문자열

문제 두 문자열 s1과 s2를 붙여서 새 문자열을 만들려 합니다. 이때, 한 문자열의 끝과 다른 문자열의 시작이 겹친다면, 겹치는 부분은 한 번만 적습니다. 예를 들어 s1 = "ababc", s2 = "abcdab"일 때, 아래와 같이 s1 뒤에 s2를 붙이면 새 문자열의 길이는 9입니다. 두 문자열 s1과 s2가 매개변수로 주어질 때, s1과 s2를 붙여서 만들 수 있는 문자열 중, 가장 짧은 문자열의 길이를 return 하도록 solution 함수를 완성해주세요. 제한 조건 두 문자열 s1과 s2가 solution 함수의 매개변수로 주어집니다. * s1과 s2의 길이는 1 이상 100 이하입니다. * s1과 s2는 알파벳 소문자로만 이루어져 있습니다. 입출력 예 | s1 | s2 | return |..

Algorithm Problems 2021.06.05

[백준] [Python] 3190번 뱀 - 큐, Greedy

https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net Hint 1. 뱀을 큐로 표현 2. 뱀이 존재하는 자리를 담을 visit 2차원 리스트 Python #https://www.acmicpc.net/problem/3190 import sys from collections import deque n = int(sys.stdin.readline()) board = [[-1]*n for _ in range(n)] for _ in range(int(sys.stdi..

Algorithm Problems 2021.06.05

[백준] [Python] 13305번 주유소 - Greedy

https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net Hint 저렴한 기름값이 나오면 그 값을 계속 유지함 Python import sys n = int(sys.stdin.readline()) # number of city # length of road road = list(map(int, sys.stdin.readline().split())) # price of oil oil = list(map(int, sys.stdin.readli..

Algorithm Problems 2021.06.01
728x90
반응형