본문 바로가기

Algorithm475

[파이썬] 백준 1525 : 퍼즐 (골드2) [파이썬] 백준 1525 : 퍼즐 (골드2) 문제 풀이 0. 방향성 생각 9!의 경우의 수를 탐색하는 것과 같다. 2차원 배열을 문자열로 바꾸어서 집합 visit에 넣은 후 탐색한다. 1. 입력 from collections import deque arr = [] for _ in range(3): arr.extend(input().split()) arr = ''.join(arr) 리스트로 받아준 후 문자열로 변환한다. 2. 방향 정의 moves = {0:(1,3), 2:(1,5), 6:(3,7), 8:(5,7), 1:(0,2,4), 3:(0,4,6), 5:(2,4,8), 7:(4,6,8), 4: (1,3,5,7)} 2차원 배열에서 왼쪽 위부터 0,1,2,...7,8 이라 하면, 인접한 위치로 갈 수 있다.. 2023. 7. 30.
[파이썬] 프로그래머스 : 예상 대진표 (Lv.2) [파이썬] 프로그래머스 : 예상 대진표 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 트리를 그려보면 처음으로 갈라져나오는 노드를 찾아주면 된다. 문제에서는 0~7까지인데 제일 먼저 루트 노드에서 갈라져 나와서 총 3번 올라가야한다. 5랑 6같은 경우를 보면 101 110인데 처음은 똑같이 우측 방향으로 갈라지고 그 이후에 갈라져나간다. 트리의 높이를 알 수 있으니까 처음으로 달라지는 분기점의 높이를 구해준다. 전체코드 def solution(n,a,b): leng = len(bin(n-1)[2:]) x = bin(a-1)[.. 2023. 7. 29.
[파이썬] 프로그래머스 : 상담원 인원 (Lv.3) [파이썬] 프로그래머스 : 상담원 인원 (Lv.3) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0. 방향성 생각 오답 (시간초과) 테스트 케이스가 작다 -> 모든 케이스 탐색 1. reqs를 입력으로 받아서 상담 유형별로 분류한다. 2. 중복조합을 통해 모든 케이스를 구한다. 3. 각 케이스에 대해서 시간을 계산한다. 4. 최소 시간 반환 정답 1. reqs를 입력으로 받아서 상담 유형별로 분류한다. 2. 각 유형 별, 상담 인원 별 시간 계산한다. 3. 상담원 수를 1명씩 조절하며 시간 계산. 1. 유형 별 상담자 구분 # 유형 별 구분 def.. 2023. 7. 28.
[파이썬] 프로그래머스 : 다리를 지나는 트럭 (Lv.2) [파이썬] 프로그래머스 : 다리를 지나는 트럭 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 수식 구현해서 풀어보려했는데 머리아파서 더미 0을 넣어서 풀이. 트럭이 있을 때 트럭을 넣을 수 있으면 트럭 진입 후 무게 업데이트. 트럭 넣을 수 없으면 더미 0 진입 전체코드 from collections import deque def solution(length,limit,trucks): bridge = deque([0]*length) # 다리만들고 trucks = deque(trucks) time,now_weight = 0,0.. 2023. 7. 25.