알고리즘/프로그래머스
-
알고리즘/프로그래머스 2023. 2. 22. 23:34
💁🏻 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤷🏼♀️ 문제 설명 1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 있는 칸으로 이동하여 레버를 당긴 후 미로를 빠져나가는 문이 있는 칸으로 이동하면 됩니다. 이때 아직 레버..
-
알고리즘/프로그래머스 2021. 10. 26. 21:46
코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr def solution(k, dungeons): answer = 0 dungeons.sort(key=lambda x: (x[0] - x[1], -x[1], x[0]), reverse=True) value = k for d in dungeons: if value >= d[0]: value -= d[1] answer += 1 return answer def dfs(k, dungeons, visited, cnt, answer): for i in range(le..
-
알고리즘/프로그래머스 2021. 10. 18. 21:34
문제 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 풀이 a. 시간 초과 풀이 범위 내의 index에서 최대 수를 구하는 것을 반복하는 방식으로 문제를 풀이하였다. 만들어야 하는 자리 수는 number의 길이 - k개이고, 가장 높은 자리의 숫자부터 차례로 결정하여 문자열을 얻어내야 한다 start_index = 0, size = (숫자의 길이) - (제거해야 할 숫자 k개) - 1 로 설정 k개를 제거할 때까지, 삭제 가능한 범위 내에서 최대 수를 구하여 answer 문자열에 추가하기를 반복 k개를 제거한 뒤, 선택해야 할 숫자의 갯수를 충족하지 못한 경우, 남은 수를 answer 문자열에 추가 def solution(number, k): """ start_idx: 탐색을 시작할 s..