프로그래머스 4

[프로그래머스 Programmers] 괄호 변환 (Python)

코딩테스트 연습 - 괄호 변환 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 시뮬레이션, 재귀 문제 문제에 괄호를 변환하는 규칙이 차례대로 명시돼 있으므로, 차근차근 따라서 구현하면 된다. 오늘의 포인트 함수 중복 막기 괄호 뒤집는 기능을 map으로 구현 1. 처음에는 그대로 따라서 순서대로 구현했는데, 균형잡힌 괄호 u, v를 분리하는 함수와 올바른 괄호인지 검사하는 함수의 내용이 거의 비슷한 것을 발견했다. def balanced(w): flag = 0 ..

[프로그래머스] 순위 (Python)

코딩테스트 연습 - 순위 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 처음에는 딕셔너리와 세트로 풀이했는데 시간 초과가 났다. (시초 안 나는 풀이도 있다!!) 기왕 문제 종류가 그래프인만큼 다른 풀이 방법을 떠올려 보려고 했지만 쉽지 않았다... 그런데 질문을 보니 어떤 천사분께서 플로이드-와샬을 써보라고 하신 것을 보고... 바로 풀렸다!! 플로이드-와샬 알고리즘은 원래 모든 노드로부터 다른 노드까지의 최단 거리를 저장하는 알고리즘이다. 이때, 전체 알고리즘은 삼중 반복문으로 수행되는데 다음과 같다. # n = 노드 개수 for k in range(n):# ..

Algorithm/Graph 2021.02.26

[프로그래머스] 합승 택시 요금 (Python)

코딩테스트 연습 - 합승 택시 요금 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 그래프 문제 다익스트라와 플로이드-와샬 두 방법으로 풀 수 있다. 대부분 테스트 케이스에서 다익스..

Algorithm/Graph 2021.02.25

[프로그래머스] 셔틀버스 (Python)

코딩테스트 연습 - [1차] 셔틀버스 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 [23:59,23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59] 18:00 programmers.co.kr 시뮬레이션 문제이다. 카카오에서는 이런 다중 조건을 만족시켜야 하는 문제가 꼭 출제되는 것 같다. 어떻게든 간단하게 풀어보려고 노력했으나... 아직 더 좋은 아이디어가 없으므로... timetable에 저장된 승객들의 도착 시간과 버스 도착 시간을 각각 deque에 넣었다. 두 개의 큐가 모두 빌 때까지 schecule이라는..