파이썬 알고리즘

알고리즘

백준-BOJ 17298번 오큰수 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 17298 오큰수 출처 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 알고리즘 분류 자료 구조 스택 문제 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]..

알고리즘

백준-BOJ 14501번 퇴사 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 14501 퇴사 출처 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 알고리즘 분류 다이내믹 프로그래밍 브루트포스 알고리즘 문제 상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다. 오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다. 백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다. 각각의 상담은 상담을 완료하는 데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다. N = 7인 경우에 다음과 같..

알고리즘

[프로그래머스][Python] - 모의고사

[Python][프로그래머스] 모의고사 - 파이썬 풀이 출처 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전 탐색 알고리즘을 이용하여 풀이하는 문제로 규칙을 잘 정리하고 처음부터 끝까지 하나하나 대입하며 풀이하면 된다. 소스코드 def solution(answers): answer = [] a = [1, 2, 3, 4, 5] b = [2, 1, 2, 3, 2, 4, 2, 5] c = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] ..

알고리즘

백준 14490번 백대열 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 14490 백대열 출처 https://www.acmicpc.net/problem/14490 14490번: 백대열 n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000) www.acmicpc.net 저번 포스트에 작성한 알고리즘과 비슷한 분류이다. 최대공약수를 구해야 하는 문제로 두 수를 약분하여 출력하면 된다. math.gcd 라이브러리를 활용하는 방법은 전 포스트를 확인하시면 됩니다. - 이전 발행 글보기 알고리즘 분류 수학 문자열 정수론 파싱 유클리드 호제법 소스코드 n, m = map(int, input().split(':')) def gcd(a, b): if b == 0: return a return gcd(b, a%b) t ..

알고리즘

백준 3036번 링 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 3036 링 출처 https://www.acmicpc.net/problem/3036 3036번: 링 출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. www.acmicpc.net 링이 얼마나 회전하는지 예제 출력을 통해 확인할 수 있듯이 최대공약수로 분모와 분자를 나눠주면 회전수를 알 수 있다. 두 가지 방법을 사용하여 소스코드를 작성하려고 한다. 소스코드 1: math.gcd를 import 해서 최대공약수를 구하여 출력 소스코드 2: 유클리드 호제법을 코드로 작성해 최대공약수를 구하여 출력 알고리즘 분류 수학 정수론 유클리드 호제법 소스코드 1..

알고리즘

백준 15649번 N과 M (1) 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 2693 N번째 큰 수 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 처음 문제를 접했을 땐 순열로 출력하면 되겠다고 생각하였다. 백트래킹 알고리즘을 잘 알지 못해 같이 소개하며 두 가지 방법 모두 풀이해보려고 한다. 알고리즘 분류 백트래킹 소스코드 1 (permutation) from itertools import permutations n, m = map(int, input().split()) ..

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

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