본문 바로가기

Algorithm/etc111

[파이썬] 백준 10986 : 나머지 합 (골드3) [파이썬] 백준 10986 : 나머지 합 (골드3) https://www.acmicpc.net/problem/10986 풀이 방향성 생각 이제까지 등장한 누적합%M과 같을 경우, 매칭이 가능하다. 순회를 한 번 하면서 누적합에 기록된 숫자들을 딕셔너리에 기록한다. 누적합에 기록된 숫자 자체가 M으로 나누어 떨어지면, 혼자 만으로 정답 체크가 된다. M으로 나누어 떨어지는 경우에는 KC2 + K, 아닌 경우에는 KC2를 카운팅한다. 전체코드 # %% from collections import defaultdict as dd N,M = map(int,input().split()) arr = list(map(int,input().split())) S = [arr[0]%M] for v in arr[1:]: S... 2024. 4. 21.
[파이썬] 프로그래머스 : 여행경로 (Lv.3) [파이썬] 프로그래머스 : 여행경로 (Lv.3) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 목적지 -> 도착지점 티켓 수를 딕셔너리로 카운팅한다. 딕셔너리 정보를 바탕으로 백트래킹 해주기. 이동 가능한 지점이 있으면 티켓을 소모하고 DFS를 돌린다. 이동이 불가능하면 그 노드는 더이상 이동하지 않는다. 경로가 필요하니 DFS 인자에 마지막 지점을 넘겨줘서 티켓을 모두 사용하는 경우에 경로를 저장하기. 전체코드 ''' 티켓 수 백트래킹 ''' from collections import defaultdict as dd def soluti.. 2024. 3. 25.
[파이썬] 백준 2632 : 피자판매 : (골드2) [파이썬] 백준 2632 : 피자판매 : (골드2) https://www.acmicpc.net/problem/2632 문제 고객이 두 종류의 피자 A와 B를 취급하는 피자가게에서 피자를 주문하고자 한다. 고객이 원하는 피자의 크기를 이야기하면, 피자가게에서는 한 종류의 피자를 2 조각 이상 판매할 때는 반드시 연속된 조각들을 잘라서 판매한다. 이때 판매한 피자조각의 크기 합이 주문한 크기가 되어야 한다. 판매한 피자조각은 모두 A종류이거나, 모두 B종류이거나, 또는 A와 B 종류가 혼합될 수 있다. 피자가게에서 손님이 원하는 크기의 피자를 판매하는 모든 방법의 가지 수를 계산하는 프로그램을 작성하시오 입력 첫 번째 줄에는 손님이 구매하고자 하는 피자크기를 나타내는 2,000,000 이하의 자연수가 주어진.. 2024. 2. 25.
[파이썬] 1484 : 다이어트 (골드5) [파이썬] 1484 : 다이어트 (골드5) 1484번: 다이어트 성원이는 다이어트를 시도중이다. 성원이는 정말 정말 무겁기 때문에, 저울이 부셔졌다. 성원이의 힘겨운 다이어트 시도를 보고만 있던 엔토피아는 성원이에게 새로운 저울을 선물해 주었다. www.acmicpc.net 문제 풀이 방향성 생각 몸무게 변화량 G = (a+b)(a-b)로 인수분해된다. 자연수 몸무게만 취급한다. 예제 입력을 보면 4를 기준으로 +- 1, 8 기준으로 +- 7 이전, 이후 몸무게의 평균값이 정수이면 된다. 이전*이후 = G이므로, G의 약수를 구한다. 전체코드 G = int(input()) temp = {} for i in range(1,int(G**0.5)+1): p,q = divmod(G,i) if not q and .. 2024. 1. 16.