728x90
반응형

Algorithm Problems 125

[백준][Python] 15638번 감시 - 재귀

https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net Python import sys from collections import deque input = sys.stdin.readline answer = float("inf") n, m = map(int, input().split()) arr = [list(map(int,input().split())) for _ in range(n)] cctv = [(i,j) for j in range(m..

Algorithm Problems 2022.02.12

[백준][Python] 16234번 인구 이동 - BFS

https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net from collections import deque import sys input = sys.stdin.readline dx = [0,0,1,-1] dy = [1,-1,0,0] N, L, R = map(int, input().split()) arr = [ list(map(int, input().split())) for _ in range(N) ] if N == 1: print(0)..

Algorithm Problems 2022.02.05

[백준][Python] 2293번 동전1 - DP

https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net import sys input = sys.stdin.readline n, k = map(int, input().split()) coins = [int(input().rstrip()) for _ in range(n)] dp = [0]*(k+1) dp[0] = 1 for coin in coins: for i in range(coin, k+1): dp[i] += dp[i-coin] print("동전", ..

Algorithm Problems 2022.01.22

Dynamic Programming

제일 작은, 간단한 방법을 순차적으로, 누적하며 진행하여 큰 값을 구하는 방식 초기 조건 설정과 점화식 세우기가 중요 피보나치 점화식을 통해 설명하자면, 점화식은 다음과 같다 Fn = Fn-1 + Fn-2 보통 이를 재귀함수로 구현했을 때 코드는 다음과 같다 def fibo(n): if n < 3: return 1 return fibo(n-1) + fibo(n-2) n번째라는 큰 숫자를 넣고 n-1, n-2를 해가며 작아지는 top-down 형식이 바로 재귀 Recursion을 쓴 것 그럼 Dynamic Programming은 이와 다르게 작은 규칙들을 하나씩 쌓아 올려 큰 값에 도달하는 bottom-up 형식 n = 5 # 몇 번째 피보나치 수를 출력할 것인가 d = [0]*(n+1) d[1] = d[..

Algorithm Problems 2021.12.26

[카카오_인턴][Python] 수식 최대화

https://programmers.co.kr/learn/courses/30/lessons/67257# 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr def multiply(list): ans = 1 for l in list: ans *= l return ans def minus(list): ans = list[0] for l in list: ans -= l return ans+list[0] def solution(expression): # *-+, *+- ans = 0 temp = [] # *-+ for..

Algorithm Problems 2021.09.22

[카카오_인턴][Python] 불량 사용자 - DFS/정규식

https://programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr import re def dfs(b,s,visit, user, ban): if b == len(ban): string = "" for i in range(len(user)): if i in visit: string += str(i) s.add(string) return s for i in range(len(user)): if i in visit: continue..

Algorithm Problems 2021.09.17
728x90
반응형