dp 9

[swea] [모의 sw 역량테스트] 2117. 홈 방범 서비스 python

문제 출처 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu&categoryId=AV5V61LqAf8DFAWu&categoryType=CODE&problemTitle=%ED%99%88+%EB%B0%A9%EB%B2%94&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🔥 작성코드 # bfs def sol(si, sj, k): global result q..

Algorithm/SWEA 2022.03.25

[SWEA] [모의 SW 역량테스트] 1952. 수영장 python

문제 출처 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq&categoryId=AV5PpFQaAQMDFAUq&categoryType=CODE&problemTitle=%EC%88%98%EC%98%81%EC%9E%A5&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🔥 작성코드 T = int(input()) for test_case in range(1,..

Algorithm/SWEA 2022.03.25

[백준 BOJ] 17070 파이프 옮기기 1 (python)

문제 출처 : https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net dfs문제처럼 생겨서 바로 도전해보았으나 시간초과로 실패! pypy로는 정답이 나왔지만 너무 느려서 문제 분류를 보고 dp로 재도전했습니다. 🔥 DFS 코드 (시간 초과) def sol(i, j, flag): global cnt # 끝에 도착하면 결과값 1 증가 if i == N-1 and j == N-1: cnt += 1 return # 가로 세로 끝 부분..

Algorithm/BAEKJOON 2022.03.14

[백준 BOJ] 2133 타일 채우기 (python)

https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 🔥 작성 코드 N = int(input()) if N%2: result = 0 else: dp = [0] * (N+1) dp[2] = 3 for i in range(4, N+1, 2): dp[i] = 3*dp[i-2] + 2 if i != 4: for j in range(4, i-1, 2): dp[i] += 2*dp[j-2] result = dp[N] print(result) ⭕ 해설 N이 홀수라면 3xN의 벽은 크기가 홀수가 됩니다. 따라서 2x1, 1x2 크기의 타일로 채울 수 없습니다. N이 짝수일 경..

Algorithm/BAEKJOON 2022.02.23

[SWEA 4613] 러시아 국기 같은 깃발 (python)

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWQl9TIK8qoDFAXj&categoryId=AWQl9TIK8qoDFAXj&categoryType=CODE&problemTitle=4613&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 요즘 dp문제를 많이 풀었더니 뇌가 일을 안한다.. 모든 문제가 dp로 보입니다.. 🔥 작성 코드 (🌪️56,928kb 127ms) T = in..

Algorithm/SWEA 2022.02.18

[백준 BOJ] 13398 연속합 2 (python)

https://www.acmicpc.net/problem/13398 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 🔥 시간초과 코드 n = int(input()) lst = list(map(int, input().split())) dp1 = [0 for _ in range(n)] dp1[0] = lst[0] if n > 1: for i in range(1, n): dp1[i] = max(lst[i], dp1[i-1] + lst[i]) result1 = max(dp1) result2 = lst[0] for i in..

Algorithm/BAEKJOON 2022.02.18

[백준 BOJ] 9465 스티커 (python)

https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 🔥 작성코드 T = int(input()) for _ in range(T): n = int(input()) arr = [list(map(int, input().split())) for _ in range(2)] dp = [[arr[0][i], arr[1][i]] for i in range(n)] if n >= 2: dp[1][0] += dp[0][1] dp[1][1] += dp[0][0..

Algorithm/BAEKJOON 2022.02.16

[백준 BOJ] 1149 RGB거리 (python)

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 🚨 작성 코드 N = int(input()) arr = [list(map(int, input().split())) for _ in range(N)] for i in range(1, N): arr[i][0] += min(arr[i-1][1], arr[i-1][2]) arr[i][1] += min(arr[i-1][2], arr[i-1][0]) arr[i][2] += min(arr..

Algorithm/BAEKJOON 2022.02.16

[백준 BOJ] 11057 오르막 수(python)

https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 🔥 작성 코드 # 오르막 수 n = int(input()) dp = [1] * 10 while n > 1: for i in range(1,10)[::-1]: dp[i] = sum(dp[0:i+1]) n -= 1 print(sum(dp)%10007) ⭕ 해설 1. 일단 n이 1인 경우를 먼저 생각했습니다. 가장 앞에 오는 수 개수 0 1 1 1 2 1 3 1 4 ..

Algorithm/BAEKJOON 2022.02.14