본문 바로가기

Algorithm475

[파이썬] 백준 2251: 물통 (골드5) [파이썬] 백준 2251: 물통 (골드5) 2251번: 물통각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부www.acmicpc.net문제풀이 0. 방향성 생각물통에 담긴 물의 양을 튜플로 저장해서 visit set에 저장한다.BFS로 현재 물통에서 옮길 수 있는 방법 모두 탐색visit에 저장된 case중 A=0인 C를 answer set에 저장하고 출력1. 입력from collections import deque size = list(map(int,input().split())) init = (0,0,size[-1]) visit = .. 2023. 11. 21.
[파이썬] 백준 2206 : 벽 부수고 이동하기 (골드3) [파이썬] 백준 2206 : 벽 부수고 이동하기 (골드3) 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 문제 풀이 0. 방향성 생각 벽을 한개까지 부술 수 있다. 벽을 부순 상태 / 부수지 않은 상태 2가지로 나눈다. visit 배열의 차원을 하나 늘린다. 방향으로 나누는 state가 아니어서 위로 쌓는 방식으로 visit 층수를 늘린다. 1. 입력 from collections import deque import sys input = lambda: sys.stdin.readlin.. 2023. 11. 16.
[파이썬] 프로그래머스 : 타겟 넘버 (Lv.2) [파이썬] 프로그래머스 : 타겟 넘버 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0.방향성 생각 리스트 길이가 20 이하이다. 2**20 = 10만이라 잡으면 완탐으로도 충분히 가능 1. 중복 순열 from itertools import product as P def solution(numbers,target): answer = 0 leng = len(numbers) for i in P([1, -1], repeat=leng): if sum(map(lambda x,y: x*y, numbers,i)) == target: answer +=.. 2023. 11. 10.
[파이썬] 백준 1926 : 그림 (실버1) [파이썬] 백준 1926 : 그림 (실버1) 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 문제 풀이 0. 방향성 생각 영역 개수, 넓이 구하기 1. 입력 from collections import deque import sys input = lambda : sys.stdin.readline().rstrip() h,w = map(int,input().split()) arr = [list(map(int,input().split())) for _ in range(h)] visit = [[False]*w for _ i.. 2023. 11. 10.