프로그래머스: 순위 python, 파이썬
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/49191# 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 2. 풀이 이 분의 아이디어를 읽고 구현했다. 내 언어로 설명해보자면, 1) 주어진 값 넣기: 먼저 n*n 배열을 만들고, 배열[이긴사람][진사람]에 1(이김) 배열[진사람][이긴사람]에 -1 짐을 넣는다. 여기서 중요한 건 몇등이냐가 아니라 모든 다른 사람에 대해 내 결과를 가지고 있는 사람이 몇사람이냐는 것이다. 2) 배열을 채운다: 이제 배열을 순회하면서 A가 B를 이겼다면 B에게 진 사람들은 A에게 모두 졌을 것이라고 생각하고 이것을 채워넣는다. 마..
2021. 7. 3.
프로그래머스: 가장 먼 노드 python, 파이썬
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/49189#qna 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 2. 풀이 bfs 3. 구현 from collections import deque def solution(n, edge): answer = 0 dic={} for s,e in edge: if s in dic: dic[s].append(e) else: dic[s]=[e] if e in dic: dic[e].append(s) else: dic[e]=[s] q=deque() visit = {} dist=0 q.appen..
2021. 7. 2.
[미완] 프로그래머스: 여행경로 ( python, 파이썬 )
1. 문제 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 2. 풀이 생각나는 대로... bfs 구현해서 모든 경우를 다 살펴보고 각 경우마다 그때의 answer list와 cnt_dic(중복된 숫자를 셈)을 가져와서 구현한다. 3. 구현 1. dict에서 특정 value 제거할 때 dic['key'].remove(val) 2. TypeError: object of type..
2021. 7. 2.