본문 바로가기

Algorithm475

[파이썬] 프로그래머스 : 미로탈출 (Lv.2) [파이썬] 프로그래머스 : 미로탈출 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0. 방향성 생각 그냥 2차원 그래프 문제. 목적지를 두 번 찾아야 하니 함수를 사용해서 두 번 사용 둘 중 하나라도 도달하지 못하는 경우는 실패한다. 1. 시작점, 레버, 도착점 찾기 from collections import deque def solution(maps): h,w = len(maps),len(maps[0]) for i in range(len(maps)): for j in range(len(maps[0])): if maps[i][j] == .. 2023. 7. 7.
[파이썬] 프로그래머스 : 광물캐기 (Lv.2) [파이썬] 프로그래머스 : 광물캐기 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 한 곡괭이를 고르면 5개는 무조건 파야한다. minerals를 5개씩 묶어서 하나의 구간으로 생각한다. BFS를 돌리면서 곡괭이 수와 stage, stamina를 조절한다. 1. stage 묶기 from collections import deque def solution(picks, minerals): arr,answer = [],[] # 5개씩 묶기 p,q = divmod(len(minerals),5) for i in range(p): tab.. 2023. 7. 7.
[파이썬] 프로그래머스 : 줄 서는 방법 (Lv.2) [파이썬] 프로그래머스 : 줄 서는 방법 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 재귀적으로 위치 파악 ex) n=5 일 때 94번 째? n! = 120 / [0, 24, 48, 72, 96] / (n-1)! 맨 앞사람 단위로 변한다. -> 94가 어느 범위에 있냐? 94가 4번째는 못넘음. 현재 인원 [1,2,3,4,5] 중 4번째 가져옴. -> 남은 인원 [1,2,3,5] 94-72 = 22 22에 대해서도 똑같이 진행 ex) n=4 일 때 22번 째? n! = 24 / [0,6,12,18] / (n-1)! 맨 앞사.. 2023. 7. 6.
[파이썬] 프로그래머스 : 구명보트 (Lv.2) [파이썬] 프로그래머스 : 구명보트 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 무거운 사람 먼저 태우고, 남는 자리에 가벼운 사람 탈 수 있으면 태워서 보내는 식으로 진행 문제 조건에 보트에 2명까지 탈 수 있다는 조건 때문에 쉽게 풀 수 있다. 배열의 앞 뒤를 계속해서 확인해야하니 deque을 사용한다. 전체코드 from collections import deque def solution(people, limit): people.sort() q = deque(people) answer = 0 while q: if len.. 2023. 7. 6.