문제풀기/프로그래머스(26)
-
프로그래머스 : 여행 경로
https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 조금 더 심화된 그래프 문제이다. 모든 항공권을 다 사용해야한다는 조건을 놓치기가 쉽다. queue에 현재까지의 루트와 남은 루트들을 모두 넣어주는 방식을 택했다. from collections import deque import copy def solution(tickets): answer = [] graph_dict = di..
2021.10.29 -
프로그래머스 : 등굣길
https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 고등학생 때 배운 확률과 통계 중 길찾기 문제를 구현하는 문제라고 볼 수 있다. 현재 칸의 윗 칸까지의 최단거리 + 현재 칸의 왼쪽 칸까지의 최단거리 = 현재 칸 까지의 최단거리 def solution(m, n, puddles): routes = [] for i in range(n): routes.append([0]*m) for i in puddles..
2021.10.28 -
프로그래머스 : 위클리 챌린지 - 12주차
https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 12주차 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 던전들의 개수가 최대 8개이기 때문에 단순하게 itertools의 permutations를 이용하면 된다. 방문 가능한 모든 경우의 수(던전의 순서)를 실행하면서 그 중 가장 많은 던전을 방문하는 경우의 방문 던전 개수를 리턴한다. from itertools import permutations def solution(k, dungeons): answer..
2021.10.28 -
프로그래머스 : 큰 수 만들기
https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 이전 인덱스(start)부터 len(number) - 아직 남은 채워넣어야 할 문자열의 길이 까지 중에서 가장 큰 수를 answer에 넣고, 해당 인덱스 + 1을 start로 설정하는 방식으로 매 번 가장 큰 수를 찾아 넣으면 된다. 이 때, 시간 초과를 방지하기 위해, for문 내에서 가장 큰 수를 찾았는데 해당 수가 9이면 더 큰 수는 없기 때문에 바로 for문을 빠져 나오도록 한다. def solution(number, k): answer = '' want_length = len(number) - k number = list(numb..
2021.10.28 -
프로그래머스 : 2019 카카오 개발자 겨울 인턴십 - 불량 사용자
https://programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr length로 나누어서 아이디를 저장한다. 이를 통해 시간을 줄일 수 있다. 그리고 파이썬의 set과 dictionary를 적절히 사용해서 구현하면 된다. from itertools import product def solution(user_id, banned_id): answer = 1 length_dict = dict() count_banned = [[] f..
2021.10.23 -
프로그래머스 : 2018 KAKAO BLIND RECRUITMENT 1차 캐시
https://programmers.co.kr/learn/courses/30/lessons/17680
2021.10.23