본문 바로가기

프로그래머스3

[프로그래머스] 여행경로 - 파이썬 BFS 꼭 BFS로 풀어야 하는 문제는 아닙니다. 그냥 간만에 BFS 연습할 겸 BFS로 풀어보았습니다. 중복티켓을 위한 테스트 케이스 tickets: [["ICN", "A"], ["ICN", "A"], ["ICN", "A"], ["A", "ICN"], ["A", "ICN"]] Return: ["ICN", "A", "ICN", "A", "ICN", "A"] 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/43164# 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SF.. 2022. 6. 22.
[프로그래머스] 모의고사 내 코드 def solution(answers): s1, s2, s3 = 0,0,0 n = len(answers) c = n//40+1 a1 = [1,2,3,4,5]*(8*c) a2 = [2,1,2,3,2,4,2,5]*(5*c) a3 = [3,3,1,1,2,2,4,4,5,5]*(4*c) for i in range(n): if answers[i] == a1[i]: s1 += 1 if answers[i] == a2[i]: s2 += 1 if answers[i] == a3[i]: s3 += 1 scores = [s1,s2,s3] m = max(scores) winners = [] for i in range(3): if scores[i] == m: winners.append(i+1) return winners .. 2021. 4. 25.
[프로그래머스] 완주하지 못한 선수 - 리스트 정렬, 해시 내가 짠 코드 def solution(participant, completion): if len(completion) == 0: return participant else: for c in completion: participant.remove(c) return participant[0] 나름 깔끔하다 생각했지만 for문으로 인해 효율성 점수가 0점이 나왔다... 리스트의 원소제거를 어떻게 하면 더 빨리 할 수 있을까? 어떻게 짜야 빨리 탐색할 수 있을까? 풀이방법들 1. collections 사용 from collections import Counter def solution(participant, completion): return list(Counter(participant) - Counter(co.. 2021. 4. 24.