Python 13

[카카오 코테 2022 | python] 두 큐 합 같게 만들기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/118667Level2 Q1) 문제를 어떻게 이해했나요?A1) 입력: 두 개의 같은 길이의 큐출력: 각 큐의 합이 같아질 때까지의 최소 작업 횟수조건: 큐는 FIFO 구조, 어떤 방식으로도 합을 같게 못 맞추면 -1 반환Q2) 문제를 어떻게 풀 예정인가요?A2) deque로 큐 구현 → sum(queue1)이 목표의 절반 크기보다 크면 queue1에서 꺼내서 queue2로 이동, 반대도 마찬가지두 큐의 합이 같아 지는 순간 return ✅ 최적 코드from collections import dequedef solution(queue1, queue2): q1 = deque(queue1)..

Algorithm 13:17:36

[카카오 코테 2018 | python] [1차] 프렌즈4블록

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/17679Level2 Q1) 문제를 어떻게 이해했나요?A1) 주어진 m x n 크기의 보드에서, 같은 캐릭터 4개가 2x2로 붙어 있으면 지워지고 그 위의 블록들이 아래로 떨어진다. 이 과정을 더 이상 지워질 블록이 없을 때까지 반복, 최종적으로 지워진 블록의 총 개수를 반환Q2) 문제를 어떻게 풀 예정인가요?A2) 1. 보드를 2차원 배열로 변환2. 2x2 블록 탐색하여 지워질 위치 기록3. 지울 위치가 없으면 반복 종료4. 지울 위치를 "0" 으로 표시하고 지움 처리5. 아래에서부터 블록을 채워 넣음(중력 구현)6. 반복하며 지워진 총 블록 개수 누적 ✅ 최적의 코드def solutio..

Algorithm 12:40:19

[카카오 코테 2022 | python] 주차 요금 계산

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/92341level2 Q1) 문제를 어떻게 이해했나요?A1)입력 → fees: [기본 시간, 기본 요금, 단위 시간, 단위 요금], records: "HH:MM 차량번호 IN/OUT" 형태의 리스트 출력 → 차량 번호 오름차순으로, 각각의 최종 주차 요금 리스트 반환 규칙 → 입차 후 출차 기록이 없으면 23:59에 출차된 것으로 간주, 누적 주차 시간 계산 후: 기본시간 이하면 기본요금, 초과시간은 단위시간으로 올림 계산하여 요금 부과Q2) 문제를 어떻게 풀 예정인가요?A2)단계 1: 문자열을 분리해서 시각/차량번호/상태로 파싱단계 2: 입차 시각은 저장하고, 출차 시 총 누적 시간을 ..

Algorithm 2025.06.24

[카카오 코테 2018 | python] 파일명 정렬

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/17686level2문자, 숫자 판별 함수 Q1) 문제를 어떻게 이해했나요?A1) 파일명은 [HEAD][NUMBER][TAIL] 형태 정렬 기준은 다음과 같아요: 1. HEAD를 대소문자 구분 없이 정렬 (사전 순) 2. HEAD가 같으면 NUMBER를 정수로 비교해 정렬 3. 둘 다 같으면 입력 순서를 유지 (Stable Sort) Q2) 문제를 어떻게 풀 예정인가요?A2)1. 파일명을 HEAD, NUMBER, TAIL로 나누기2. HEAD는 소문자로 변환해서 비교3. NUMBER는 정수로 변환해서 비교4. 정렬 후 원래 문자열 반환 💫 최적화된 코드 (정규표현식 안쓰고, 하나씩 순회..

Algorithm 2025.06.23

[카카오 코테 2019 | python] 인턴십크레인 인형뽑기 게임 ✅

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/640612019 카카오 개발자 겨울 인턴십크레인 인형뽑기 게임 Q1) 문제를 어떻게 이해했나요?A1) 크레인을 좌우로 움직이며 인형을 집어 바구니에 쌓는다. 같은 인형이 바구니에 연속으로 두 개 쌓이면 터진다. 인형이 터질 때마다 2개 사라지므로 2점을 얻는다. 인형은 가장 위에 있는 것만 집힌다.Q2) 문제를 어떻게 풀 예정인가요?A2) moves: 크레인을 몇 번째 열에서 작동시킬지 알려주는 리스트.크레인 작동 시: 해당 열의 맨 위 인형을 찾는다. 인형을 바구니(stack)에 넣는다. 바구니의 top 2개가 같으면 pop해서 사라진다 → 점수 +21. 빈 바구니(basket = []..

Algorithm 2025.06.23

[카카오 코테 2018 | python] 비밀지도

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/17681level1프로그래머스Q1) 문제를 어떻게 이해했나요?A1) 주어진 두 지도를 각각 이진수 형태로 변환하고, 각 위치에서 둘 중 하나라도 벽(1)이면 전체 지도에서 벽으로 표시해야합니다.Q2) 어떤 방식으로 풀건가요?A2) OR 연산을 수행하여 둘 중 하나라도 1이면 1이 되도록 처리를 합니다. 그리고, 그 결과를 n자리의 2진수로 변환합니다.2진수 문자열에서 '1' 은 '#'으로 '0'은 ' '으로 치환하여 리스트로 반환합니다. 🔥 내 코드: 2진수를 직접 구하는 함수를 만들었음def num_to_2(n, num): result = "" while num > 0: ..

Algorithm 2025.06.19

[카카오 코테 2018 | python] [1차] 다트 게임

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/17682level1Q1) 이 문제 어떻게 이해하셨나요?A1) 이 문제는 다트 점수를 규칙에 따라 계산한 다음 총합을 구하는 문제라고 이해했습니다. 다트는 총 3세트로 구성이 되어있고, 각 세트는 점수, 보너스, 옵션으로 구성되어있습니다.Q2) 어떻게 풀 계획인가요?A2) 우선 입력값의 문자열을 순서대로 탐색하면서 점수, 보너스, 옵션을 파싱합니다.점수를 계산한 후, 옵션에 따라 현재 점수와 이전 점수를 처리하고 마지막에 점수 리스트의 합을 반환합니다.*풀이 과정1. 먼저 문자열을 탐색하면서 점수를 뽑는데, 10은 두자리 숫자라서 예외처리를 해줘야합니다.2. 점수를 뽑았으면 그 다음 문자는..

Algorithm 2025.06.19

[카카오 코테 2023 | python] 개인정보 수집 유효기간

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/150370level 12023 KAKAO BLIND RECRUITMENT Q1) 문제를 어떻게 이해했는지A1) 이 문제는 개인정보가 저장된 날짜와 약관 종류를 기반으로, 각 개인정보의 만료일을 계산한 뒤, 오늘 날짜 기준으로 만료되었는지를 판단해 파기해야 할 개인정보의 인덱스를 구하는 문제입니다.모든 달이 28일로 고정되어 있으므로, 날짜를 일(day) 단위로 변환해서 비교하면 됩니다.Q2) 어떤 식으로 풀건지A2) - 우선 terms를 약관종류별 유효기간을 갖는 딕셔너리로 변환합니다.- today 날짜를 총 일 수(day)로 변환합니다.- 각 privacies 항목에 대해: 수집일을 총..

Algorithm 2025.06.18

[카카오 코테 2022 | python] 양궁대회

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/92342level22022 KAKAO BLIND RECRUITMENTQ1) 어떤 문제인가요?A1) 이 문제는 주어진 화살 수(n)만큼 라이언이 과녁에 화살을 쏠 때, 어피치와의 점수 차이를 가장 크게 만들어야 하는 문제입니다. 단순한 완전 탐색으로 모든 경우의 수를 계산하면서, 라이언이 얻을 수 있는 점수를 평가하고, 그 중 어피치를 이길 수 있는 조합 중 가장 점수 차가 큰 경우를 선택해야 합니다.Q2) 어떻게 풀 계획이신가요?A2-1)- 먼저 0~10점까지 11개의 점수에 대해 라이언이 몇 발을 쏠지 경우의 수를 모두 탐색합니다.- 각 경우에 대해 점수를 계산하며, 라이언이 이긴 경우..

Algorithm 2025.06.17

[카카오 코테 2019 | python] 오픈 채팅방 ✅

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42888level22019 KAKAO BLIND RECRUITMENT Q1) 문제를 어떻게 이해하셨나요?A1) 이 문제는 채팅방에서 유저의 입장, 퇴장, 닉네임 변경 기록을 바탕으로, 최종적으로 관리자가 보게 될 메시지를 출력하는 문자열 재구성 문제입니다.Q2) 풀이 전략A2) - 각 유저의 user_id별로 최신 닉네임을 저장해야 해요. → "Change"와 "Enter" 명령에서 갱신됨 - 실제 메시지를 출력하는 건 "Enter", "Leave" 명령만 해당돼요. → 출력용 메시지는 이 명령만 기록하고, 닉네임은 나중에 넣음 - 따라서, 첫 번째 패스에서는 유저 ID 기준으로 닉네임 ..

Algorithm 2025.06.17
728x90