🌟 프로그래머스 / Level2 / 호텔 대실 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 1 ≤ book_time의 길이 ≤ 1,000 book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다 [대실 시작 시각, 대실 종료 시각] 형태입니다. 시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지로 주어집니다. 예약 시각이 자정을 넘어가는 경우는 없습니다. 시작 시각은 항상 종료 시각보다 빠릅니다. 👀 입출력 예 🤔 풀이 방법 1️⃣ 아이디어 ➡️ 대실 시작 시간..
programmers
🌟 프로그래머스 / Level2 / 하노이의 탑 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 n은 15이하의 자연수입니다. 👀 입출력 예 n result 2 [ [1,2], [1,3], [2,3] ] 🤔 풀이 방법 1️⃣ 탑 이동 규칙 파악 하기 ➡️ 탑을 이동시키는 과정을 아래 3단계로 나누어보았다. ① 가장 큰 원판 외 나머지를 다른 곳으로 옮긴다. ② 가장 큰 원판을 3번 기둥으로 옮긴다. ③ 과정 ① 에서 옮겨두었던 원판들을 3번 기둥으로 옮긴다. ➡️ 또 몇개를 나열해보니 요구되는 이동 수가 2의 n제곱 등비수열의 합 형..
🌟 프로그래머스 / Graph / Level 3 / 순위 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 선수의 수는 1명 이상 100명 이하입니다. 경기 결과는 1개 이상 4,500개 이하입니다. results 배열 각 행 [A, B]는 A 선수가 B 선수를 이겼다는 의미입니다. 모든 경기 결과에는 모순이 없습니다. 👀 입출력 예 n results return 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 🤔 풀이 방법 1️⃣ 내 생각 정리 ➡️ 아래 2가지 방법을 생각해보았지만 코드로 옮기거나 논..
🌟 프로그래머스 / Graph / Level 2 / 가장 먼 노드 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 노드의 개수 n은 2 이상 20,000 이하입니다. 간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다. vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다. 👀 입출력 예 n vertex return 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 🤔 풀이 방법 1️⃣ 그래프 구현 ➡️ 그래프 구현 ..
🌟 프로그래머스 / 연습문제 / Level 2 / 숫자 변환하기 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 1 ≤ x ≤ y ≤ 1,000,000 1 ≤ n 0) { answer = Math.min(answer, depth); return; } answer = depth; return; } // 부분 ③ dfs (y, depth+1, 0); dfs (y, depth+1, 1); dfs (y, depth+1, 2); return; } 부분 ① ➡️ %2 / %3 / -n 중 어떤 연산을 해야하는지 확인하기 위해 switch 문을 ..
🌟 프로그래머스 / 연습문제 / Level 2 / 롤케이크 자르기 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 1 ≤ topping의 길이 ≤ 1,000,000 1 ≤ topping의 원소 ≤ 10,000 👀 입출력 예 topping result [1, 2, 1, 3, 1, 4, 1, 2] 2 [1, 2, 3, 1, 4] 0 🤔 풀이 방법 1️⃣ 배열 ① 기본 아이디어 (1) 배열 생성 ➡️ 주어진 topping 배열을 좌에서 우로 한 번 & 우에서 좌로 한 번 탐색하며, 토핑의 종류의 개수를 기록한 배열을 만든다. ex) 입출력..