Algorithm/카카오 기출
[프로그래머스] 2022 KAKAO TECH INTERNSHIP/등산코스 정하기/파이썬/python
💡 solutions 💬 heap 자료 구조 사용, 각 출입구들을 노드로 넣고 다익스트라 알고리즘 탐색 💬 1. 산봉우리는 한 개만 지나야 하므로 탐색 노드가 산봉우리인 경우 탐색 중단 💬 2. 해당 노드를 지났던 기존 intensity(dist[node])가 현재의 intensity 보다 작은 경우는 이미 더 작은 intensity로 해당 노드를 지날 수 있다는 의미이므로 탐색 중단하도록 조건 처리 💬 각 노드의 intensity를 저장하는 dist 배열에서 값을 업데이트 할 때는 최대 intensity (현재 intensity, 다음 노드의 intensity 중 큰 값)로 저장한다. 💬 산봉우리들을 비교하여 가장 작은 intensity를 갖는 경우를 답으로 반환한다. 단, intensity가 동일한 ..
[프로그래머스] 2022 KAKAO TECH INTERNSHIP/두 큐 합 같게 만들기/파이썬/python
💡 solutions 💬 첫 번째 풀이, deque 자료 구조 활용하여 반복문으로 두 큐의 합 같게 연산, 두 큐의 최대 길이만큼 반복했는데도 두 큐의 합을 같게 하지 못하면 -1 반환하는 조건 추가 💬 두 번째 풀이, 두 개의 큐를 하나의 큐로 합쳐서 투 포인터로 두 큐의 합이 같아지는지 확인 🤖 code # 첫 번째 풀이 from collections import deque def solution(queue1, queue2): queue1, queue2 = deque(queue1), deque(queue2) sum1, sum2 = sum(queue1), sum(queue2) target_sum = (sum1 + sum2) // 2 cnt = 0 if max(queue1) > target_sum or ..
[프로그래머스] 2022 KAKAO TECH INTERNSHIP/성격 유형 검사하기/파이썬/python
💡 solution 💬 질문에 따른 선택을 기준으로, 딕셔너리 자료 구조 활용하여 각 성격 유형별 점수를 먼저 구한다. 💬 4가지 각 지표별로 두 가지 성격 유형의 점수를 비교하여 최종적으로 성격 유형을 결정한다. 👨💻 code def solution(survey, choices): charactors_dict = { 'R': 0, 'T': 0, 'C': 0, 'F': 0, 'J': 0, 'M': 0, 'A': 0, 'N': 0, } # 모든 질문의 성격 유형 점수 계산 for i in range(len(survey)): current_question = survey[i] current_answer = choices[i] default_score = 4 if current_answer < default..