kakao 7

[프로그래머스 / 파이썬] 두 큐 합 같게 만들기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 def solution(queue1, queue2): queue3 = queue1 + queue2 target = sum(queue3) // 2 if sum(queue3) % 2 != 0: return -1 queue = queue1 + queue2 + queue1 max_count = len(queue) answer, left, right, sum_value = 0, 0, len(queue1), sum(queue1) while answer target: sum_value -= queue[left]..

Algorithm 2023.07.31

[프로그래머스 / 파이썬] 신고 결과 받기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 def solution(id_list, report, k): answer = [] # id별 mail 받을 횟수 id_dict = {} for i in id_list: id_dict.setdefault(i, 0) # 신고 받은 횟수 report_count_dict = id_dict.copy() # 신고자, 신고받은 사람 report_person_dict = {} # 중복 신고 삭제 report = list(set(report)) for i in report: reporter, reported = i..

Algorithm 2023.07.29

[프로그래머스 / 파이썬] 이모티콘 할인행사

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 data = [10, 20, 30, 40] discount = [] def dfs(temp, depth): if depth == len(temp): discount.append(temp) return for d in data: temp[depth] += d dfs(temp, depth + 1) temp[depth] -= d def solution(users, emoticons): max_users = 0 max_price = 0 dfs([0] * len(emoticons), 0) for d in r..

Algorithm 2023.07.28

[프로그래머스 / 파이썬] 양과 늑대

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 def solution(info, edges): def dfs(sheep, wolf): if sheep > wolf: global answer answer = max(answer, sheep) else: return for parent, child in edges: if visited[parent] and not visited[child]: visited[child] = True if info[child] == 0: dfs(sheep+1, wolf) else: dfs(sheep, wolf+1) vi..

Algorithm 2023.07.14

[프로그래머스 / 파이썬] 택배 배달과 수거하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 def solution(cap, n, deliveries, pickups): answer = 0 delivery = 0 pickup = 0 for i in range(n-1, -1, -1): if deliveries[i] != 0 or pickups[i] != 0: while delivery < deliveries[i] or pickup < pickups[i]: delivery += cap pickup += cap answer += (i + 1) * 2 delivery -= deliveries[i]..

Algorithm 2023.07.14

[프로그래머스 / 파이썬] 미로 탈출 명령어

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 def solution(n, m, x, y, r, c, k): answer = '' dist = abs(x - r) + abs(y - c) k -= dist if k r: direction['u'] += x - r else: direction['d'] += r - x if y > c: direction['l'] += y - c else: ..

Algorithm 2023.07.13

[프로그래머스 / 파이썬] [1차] 추석 트래픽

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 from datetime import datetime, timedelta def solution(lines): timeLogs = [] for line in lines: date, time, duration = line.split(" ") endDate = datetime.strptime(date + "T" + time, "%Y-%m-%dT%H:%M:%S.%f") durationMs = float(duration[:-1]) * 1000 startDate = endDate - timedelta(mil..

Algorithm 2023.07.13