본문 바로가기
728x90

Study/Coding Test49

[프로그래머스] 네트워크 Python, C++ https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (1) C++ #include #include #define MAX 201 using namespace std; int visited[MAX] = {0,}; void dfs(int current, int n, vector graph){ visited[current] = 1; for(int i = 0; i < n; i++){ if(visited[i] == 0 && graph[.. 2023. 7. 31.
[백준] 15486 - 퇴사 2 Python https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 정답 코드 import sys input = sys.stdin.readline N = int(input()) dp = [0] * (N + 1) T = [0] * (N + 1) P = [0] * (N + 1) for i in range(N): t, p = map(int, input().split(" ")) T[i + 1] = t P[i + 1] = p for i in .. 2023. 7. 7.
[백준] 2295 - 세 수의 합 Python https://www.acmicpc.net/problem/2295 2295번: 세 수의 합 우리가 x번째 수, y번째 수, z번째 수를 더해서 k번째 수를 만들었다라고 하자. 위의 예제에서 2+3+5=10의 경우는 x, y, z, k가 차례로 1, 2, 3, 4가 되며, 최적해의 경우는 2, 3, 4, 5가 된다. k번째 수가 최 www.acmicpc.net import sys # N개의 자연수 중 x, y, z 3개의 수를 뽑아서 x+y+z인 d가 N개의 포함되는 경우 중 가장 큰 d를 찾아라 # x+y+z=d > x+y=d-z input = sys.stdin.readline res = 0 #가장 큰 D N = int(input()) arr = [int(input()) for _ in range(N)].. 2023. 7. 4.
[백준] 14940 - 쉬운 최단거리 Python https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net import sys from collections import deque input = sys.stdin.readline def bfs(x, y): dx = [-1, 1, 0, 0] dy = [0, 0, 1, -1] queue = deque() queue.append((x, y)) visited[x][y] = 1 res[x][y] = 0 while qu.. 2023. 7. 4.
[백준] 1940 - 연속합 Python https://www.acmicpc.net/problem/1912 import sys input = sys.stdin.readline N = int(input()) num = list(map(int, input().rstrip().split(" "))) dp = [0] * N dp[0] = num[0] for i in range(1, N): dp[i] = max(num[i], dp[i - 1] + num[i]) print(max(dp)) 2023. 6. 29.
[백준] 11660 - 구간 합 구하기 5 Python https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net import sys input = sys.stdin.readline graph = [] N, M = map(int, input().split(" ")) dp = [[0] * (N + 1) for _ in range(N + 1)] for i in range(N): A = list(map(int, input().rstrip().split(" "))) grap.. 2023. 6. 28.
728x90