파이썬 알고리즘

알고리즘

백준 1158번 요세푸스 문제 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 1158 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 쉽게 설명하자면 원들 돌며 중첩되는 k 번째 사람들을 리스트에서 빼면서 리스트를 비우는 문제로 나머지 개념을 활용하여 원을 돌면 된다. 코드 import sys input = sys.stdin.readline n, k = map(int, input().split()) circle = [i for i in range(1, n+1)] result = [] num = k-1 while len(circle): if num >= l..

알고리즘

백준 11053번 가장 긴 증가하는 부분 수열 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 11053 가장 긴 증가하는 부분 수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 처음에는 그냥 set으로 중복을 없애고 길이를 출력하는 거라고 생각했다.😅 (그렇게 쉬울 리가 없다고 생각해서 이런 식으로 풀진 않았지만) 수열을 돌면서 더 큰 수가 있다면 큰 순으로 번호를 매긴다고 생각하면 된다. 코드 import sy..

알고리즘

백준 11399번 ATM 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 11399 ATM https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 그리디 알고리즘 문제로 빠른 시간 순으로 정렬하고 두 개의 리스트를 이용해 하나에는 더해진 값들을 저장하며 풀이하였습니다. 난이도는 어렵지 않았습니다. 코드 import sys input = sys.stdin.readline n = int(input()) minutes = sorted(list(map(int, input().split()))) result = [] r..

알고리즘

백준 11052번 카드 구매하기 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 11052 카드 구매하기 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 이번 문제의 핵심은 n장의 카드를 구매하는데 가장 많은 돈(최대 값)을 사용해야 한다는 점이다. 문제를 이해하는 것은 오래 걸리지 않았지만 점화식을 어떤 방식으로 만들어야 하는지 이해하는데 오래 걸렸다. 코드 import sys input = sys.stdin.readline n = int(input()) p = [0] + list(ma..

알고리즘

SWEA 2005번 파스칼의 삼각형 파이썬 풀이

[Python] SW Expert Academy 2005. 파스칼의 삼각형 문제의 저작권은 SW Expert Academy에 있습니다. https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com SWEA라는 사이트를 알게 되고 처음 푼 문제로 파스칼의 삼각형을 만드는 문제로 난도가 높지는 않았지만 제출할 때 #1... #2... 이런 식으로 출력되야해서 코드를 약간 수정했다. 이점을 주의해야겠다. 코드 TC = int(input()) for t in range(1, TC+1): result = [] n = in..

알고리즘

백준 9095번 1, 2, 3 더하기 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 9095 1, 2, 3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제는 1, 2, 3의 합으로 n개의 수들을 나타내는 방법의 수를 묻는 문제이다. DP와 점화식을 이용하여 풀이하는 어렵지 않은 문제였다. 코드 import sys input = sys.stdin.readline n = int(input()) for _ in range(n): a = int(input()) dp = [0, 1, 2, 4, 7] for i in range(5, a+1): dp.append(dp[i-3]+dp[..

🚀 새로운 블로그로 이전했습니다.

살펴보러 가기
minjae_4
'파이썬 알고리즘' 태그의 글 목록 (3 Page)