[Programmers] Level 3. 가장 먼 노드
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 1부터 시작하여 연결된 노드 중 가장 먼 거리의 노드의 개수를 반환한다. 💻Solution from collections import deque def solution(n, edge): graph = [[] for i in range(len(edge)+1)] distance = [-1] * (n+1) # 그래프 연결하기 for e in edge: start, end = e graph[start].append(end) graph[end].append(start) # ..
[Programmers] Level 2. 수식 최대화
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 주어진 +, -, * 연산자들의 우선순위를 달리하며 수식을 계산했을 때, 그 절댓값이 가장 큰 값을 반환한다. 💻Solution from itertools import permutations def solution(expression): answer = [] used_expression = [] expression_list = [] # 사용된 연산자 종류 구하기 for ex in ['*', '+', '-']: if ex in expression: used_expre..
[Programmers] Level 2. 방금 그 곡
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 기억하는 악보를 포함하는 곡의 이름을 반환한다. 1분당 1개의 음이 재생시간 동안 재생되며, 악보는 처음부터 반복 재생된다. 해당하는 곡이 여러개일 경우, 재생시간이 길고 먼저 입력된 곡의 이름을 반환한다. 💻Solution def solution(m, musicinfos): answer = [] melodies = {} # 각 음악 별 악보 구하기 (재생 시간) for music in musicinfos: s, e, title, melody = music.spli..
시간복잡도 생각하기 (지속 업데이트)
·
Python 활용하기
시간복잡도란? : 문제를 해결하는데 걸리는 시간 시간복잡도 정리 메서드 시간복잡도 bisect_left() O(logN) collections.Counter() O(N) 선택정렬 (selection sort) O(N^2) 삽입정렬 (insertion sort) O(N^2) 퀵정렬 (quick sort) O(NlogN)
[Programmers] Level 3. 징검다리 건너기
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 니니즈 친구들이 징검다리를 건널 수 있도록 한다. 모든 디딤돌에는 숫자가 적혀있고(1
[Programmers] Level 3. 디스크 컨트롤러
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 대기열에 등록된 시간과 작업 시간이 주어질 때, 작업에 요청부터 종료까지 걸리는 평균 시간의 최소값을 반환한다. 작업에 요청부터 종료까지 걸리는 시간은 '대기시간' 및 '작업 시간'을 포함한 시간이다. 💻Solution import heapq def solution(jobs): n = len(jobs) total_task_time = 0 current_time = 0 q = [] jobs = sorted(jobs, key=lambda x: (x[0], x[1])) ..