본문 바로가기

Algorithm9

[프로그래머스] 추석 트래픽 (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.
[BOJ] 백준 17396번 백도어 (Python) ☁️ 문제 이해하기문제 입력첫째줄: 분기점의 수 n, 분기점들을 잇는 길의 수 m둘째줄: 각 분기점이 적의 시야에 보이는지를 의미하는 n개의 정수 aiai==0, i번째 분기점이 상대의 시야에 안 보이는 곳ai==1, i번째 분기점이 상대의 시야에 보이는 곳 (지나갈 수 없음)a0=0, an-1=1(마지막 분기점은 상대 시야에 보이면서 유일하게 상대 시야에 보이면서 갈 수 있는 곳)세번째 ~ m +3번째 줄: start a, end b, t만큼의 시간양방향, 한 분기점에서 다른 분기점으로 가는 간선은 최대 1개출력유섭이의 챔피언이 상대 넥서스까지 안 들키고 가는데 걸리는 최소 시간 출력하기만약 상대 넥서스까지 갈 수 없으면 -1 출력예시 이해하기5 70 0 0 1 10 1 70 2 21 2 41 3 31.. 2025. 5. 26.