본문 바로가기

Algorithm10

[프로그래머스] 도넛과 막대 그래프 (Python, 2024 카카오 winter internship) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제도넛 모양, 막대 모양, 8자 모양의 그래프가 있음도넛 모양 그래프크기가 n이면 n개의 정점, n개의 간선이 존재아무 정점에서 출발해 방문한 적 없는 간선을 따라가면 나머지 n-1개의 정점들을 한번씩 방문하고 출발했던 정점으로 돌아옴막대 모양 그래프크기가 n이면 n개의 정점, n-1개의 간선이 존재임의의 한 정점에서 출발해 간선을 따라가면 나머지 n-1개의 정점을 한 번씩 방문하게 되는 정점이 하나 존재8자 모양 그래프크기가 n이면 2n+1개의 정점, 2n+2개의 간선이 존재정점을 하나 생성하고 난 후 도넛, 막대, 8자 모양 그래프를 이루는 정점들 중 임의의 .. 2025. 10. 16.
[프로그래머스] 추석 트래픽 (Python, 2018 카카오 blind recruitment) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명주어진 로그 데이터 분석 후 초당 최대 처리량을 계산해보자초당 최대 처리량 = 1초에 처리하는 요청의 최대 개수 입출력입력`lines`: 로그 문자열 배열로, 각 로그 문자열마다 요청에 대한 응답 완료 시간 S와 처리 시간 T가 공백으로 구분됨예: 2016-09-15 03:10:33.020 0.011s (응답완료 시간 S: 2016-09-15 hh:mm:ss.sss / 처리 시간 T: 0.24s / 2s (와 같이 s로 끝남))"2016년 9월 15일 오전 3시 10분 33.010초"부터 "2016년 9월 15일 오전 3시 10분 33.020초"까지 "0.. 2025. 10. 10.
[프로그래머스] 광고 삽입 (Python, 2021 카카오 blind recruitment) ☁️ 문제 설명시청자들이 가장 많이 보는 구간에 공익광고 넣기시청자들이 해당 동영상의 어떤 구간을 재생했는지 알 수 있는 재생구간 기록을 구했고, 해당 기록으로 공익광고가 삽입될 최적의 위치를 고름파란색: 동영상의 전체검정색: 재생 기록을 구분하는 id빨간색: 최적의 공익광고 위치 -> 이 구간을 시청한 시청자들의 누적 재생 시간이 가장 크기 때문 ☁️ 입출력입력`play_time`: 동영상 총 재생 시간 길이 ("02:03:55")`adv_time`: 공익광고의 재생시간 길이 ("00:14:15")`logs`: 시청자들의 해당 동영상을 재생했던 구간 정보(["01:20:15-01:45:14", "00:40:31-01:00:00"])출력공익광고가 들어갈 시작 시각 (여러 곳이면 가장 빠른 시각) ("01.. 2025. 10. 9.
[프로그래머스] 사라지는 발판 (Python, 2022 카카오 blind recruitment) https://school.programmers.co.kr/learn/courses/30/lessons/92345 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ☁️ 문제 설명게임이 끝날 때까지 양 플레이어가 캐릭터를 몇 번 움직이게 될지 예측하기게임 규칙플레이어 A, B가 게임을 함자신의 캐릭터 하나를 보드에 올려놓고 시작게임 보드는 발판 있는 부분과 없는 부분이 존재발판 있는 부분에만 캐릭터가 설 수 있음캐릭터는 발판이 있는 곳으로만 이동 가능보드 밖으로는 이동 불가능밟고 있던 발판은 캐릭터가 움직이는 동시에 사라짐 (1->0)상하좌우 인접한 4개의 칸 중 발판이 있는 칸으로 옮기기 (bfs, dfs)패자.. 2025. 10. 9.
[프로그래머스] 가장 많이 받은 선물 (Python, 2024 카카오 winter internship) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ☁️ 문제 설명선물을 주고받은 기록으로 다음 달에 누가 선물을 많이 받을지 예측두 사람이 선물을 주고받은 기록이 있으면, 더 많은 선물을 준 사람이 다음 달 선물 + 1두 사람이 선물을 주고받은 기록이 없거나 주고받은 선물의 수가 같으면, `선물 지수`가 더 큰 사람이 `선물 지수`가 더 작은 사람에게 선물 + 1`선물 지수` = 친구들에게 준 선물 - 받은 선물 ☁️ 입출력입력: `friends`, `gifts`friends 예시: ["muzi", "ryan", "frodo", "neo"]gifts 예시: ["muzi frodo", "muzi frodo", "r.. 2025. 10. 7.
[Codility] Iterations - BinaryGap ☁️ 문제 설명주어진 정수 N(양의 정수)를 이진수로 표현했을 때 가장 긴 binary gap의 길이 구하기binary gap: 1로 시작하고 1로 끝날 때, 그 사이에 있는 연속된 0들의 최대 길이✨ 예시`N = 9` 이진수: 1001gap: 00최대 길이: 2`N=529`이진수: 1000010001gaps: 0000, 00최대길이: 4💡 풀이 아이디어정수를 이진 문자열로 변환 `format(N, 'b')` 사용bin(N) 사용해도 가능 그 대신 0b로 시작하기 때문에 문자열 split 필요0들의 구간을 찾아 길이 계산그 중 최대값 반환💻 코드def solution(N): binary_num = format(N,'b') gaps = binary_num.split('1') if le.. 2025. 9. 14.