[알고리즘/프로그래머스] 전력망을 둘로 나누기
위클리 챌린지 > 전력망을 둘로 나누기 코딩테스트 연습 - 전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr 나의 풀이 - BFS 사용해서 끊을 수 있는 모든 경우의 수를 구해 가장 작은 값을 구한다. - 시간이 오래 걸리는 것 같다. 다른사람의 풀이 - Union find (disjoint-set) 사용 -- 공부 필요 - defaultdict로 처음 dict 초기화 : 빈 딕셔너리는 미리 삽입하지 않은 key를 호출하면 에러 발생 --> 이를 방지해줌 from collections import defaultdict
[알고리즘/프로그래머스] 교점에 별 만들기
위클리 챌린지 > 교점에 별 만들기 코딩테스트 연습 - 교점에 별 만들기 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 나의 풀이 - 각 min값을 좌표 0으로 바꾸듯이 구하면 box가 밑에서부터 차기 때문에 뒤집어서 저장해 출력해주어야 함 import itertoo..
[알고리즘/프로그래머스] 튜플
2019 카카오 개발자 겨울 인턴십 > 튜플 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 나의 풀이 - replace 함수 사용 - 숫자만 남긴 리스트를 구한 후 각 숫자의 개수를 세어 순서를 맞춰 리스트에 추가해준다. def solution(s): s = s.replace('{', '') s = s.replace('}', '') num_list = list(map(int, s.split(','))) answer = [0] * len(set(num_lis..