코딩 테스트/Level 3
-
최고의 집합코딩 테스트/Level 3 2020. 9. 20. 14:18
최고의 집합연습문제 1855명 완료https://programmers.co.kr/learn/courses/30/lessons/12938 코딩테스트 연습 - 최고의 집합자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족programmers.co.krdef solution(n, s): if n > s: return [-1] answer = [int(s/n)] * n for i in range(s % n): answer[n - 1 - i] += 1 return answer
-
가장 긴 팰린드롬코딩 테스트/Level 3 2020. 9. 18. 11:53
가장 긴 팰린드롬연습문제 2100명 완료https://programmers.co.kr/learn/courses/30/lessons/12904 코딩테스트 연습 - 가장 긴 팰린드롬앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들programmers.co.kr파이썬의 효율성 테스트가 제대로 설정되지 않은 것 같다. 단순한 코드로 바로 Pass.Manacher's Algorithm을 사용하는 것이 더 좋다. (반칙 같지만 https://docs.python.org/ko/3/library/difflib.html 를 이용하는 방법도 ..
-
가장 먼 노드코딩 테스트/Level 3 2020. 9. 17. 11:50
가장 먼 노드그래프2186명 완료https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3programmers.co.kr그래프를 안다면 어려운 문제는 아니니까.. 모른다면 최단 경로 찾기를 참고... https://comdoc.tistory.com/entry/25-%EA%B7%B8%EB%9E%98%ED%94%84-%EC%B5%9C%EB%8B%A8-%EA%B2%BD%EB%A1%9C-%EC%B0%BE%EA%B8%B0 25. 그래프 - 최단 경로 찾기너비 우선 검색(bfs)의 응용입니다. 경로의 길이가 1인 노드(정점)들을 찾아..
-
등굣길코딩 테스트/Level 3 2020. 9. 16. 21:24
등굣길 동적계획법(Dynamic Programming) 2215명 완료 동적계획법 치고는 어렵지 않은 편.. 그림을 그려보면 의외로 직관적이다.. https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr https://comdoc.tistory.com/entry/%EB%93%B1%EA%B5%A3%EA%B8%B8-%EB%8F%99%EC%A0%81%EA%B3%84%ED%9A%8D%EB%B2%95 (파이썬) 등굣..
-
야근 지수코딩 테스트/Level 3 2020. 9. 15. 19:31
야근 지수연습문제2556명 완료https://programmers.co.kr/learn/courses/30/lessons/12927 코딩테스트 연습 - 야근 지수회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도programmers.co.kr그냥 시키는 데로 코딩했습니다. 통과되더라고요. from bisect import insortdef solution(n, works): if sum(works) 효율성 테스트테스트 1 〉 통과 (464.63ms, 11MB)테스트 2 〉 통과 (404.02ms, 11.1MB)bisect 모듈의 사용법을 알고 계시면 좋..
-
디스크 컨트롤러코딩 테스트/Level 3 2020. 9. 13. 15:09
디스크 컨트롤러 힙(Heap) 2346명 완료https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를��programmers.co.kr힙은 쓰지도 않았는데... 왜 통과가...? def solution(jobs): total_time = end = total_wait = 0 length = len(jobs) for job in jobs: total_time += job[1] for now in range(tota..
-
여행경로 *코딩 테스트/Level 3 2020. 9. 12. 22:39
여행경로 깊이/너비 우선 탐색(DFS/BFS) 2586명 완료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시간을 고려하지 않고 문제를 풀겠습니다. def solution(tickets): from itertools import permutations answer = [] for path in permutations(tickets): temp = ['ICN'] for ticket in path:..
-
이중우선순위큐코딩 테스트/Level 3 2020. 9. 11. 15:13
이중우선순위큐힙(Heap) 2763명 완료https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 헉 단순히 min, max 내장함수로 통과.. 레벨 3 수준이라면 효율성 평가 테스트 케이스가 있어야...def solution(operations): queue = [] for operation in operations: op, data = operation.split(' ') if op == 'I': queue.append(int(data)) elif data == '1': if queue: ..