본문 바로가기

프로그래머스107

프로세스 - Python, deque, sorted https://school.programmers.co.kr/learn/courses/30/lessons/42587?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각우선 순위가 높은 프로세스부터 시작되어야 하니까 주어진 프로세스의 우선 순위을 내림차순으로 정렬합니다. 그 다음 deque에 기존 프로세스들의 우선순위와 위치를 저장합니다. 문제에서 원하는 location에 있는 프로세스를 추적하기 위해서입니다. 방법은 from collections import dequedef solution(priorities, location): dq = deque(.. 2024. 11. 13.
기능개발 - Pyton, Deque, Math.ceil https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각첫번째 progress가 완료 되어야 뒤에 것들도 완료된다. 그러니까 첫번째 progress가 종료되는 날짜를 구하고 (math.ceil 을 쓰는 이유는 올림을 위해서이다.) 뒤에 progress들에도 일괄적으로 진행도를 더한다. 그 후 100이 넘어가는 progress들의 갯수를 세어준다. 100이 안 넘어가면 위의 과정을 반복한다.   코드 from collections import dequeimport mathdef .. 2024. 11. 13.
체육복 - Python, set https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각set의 차집합을 이용해서 체육복을 빌려 줄 수 있는 경우를 체크합니다. 이미 여분이 있는 경우에도 차집합을 통해 자동으로 걸러집니다. 코드 def solution(n, lost, reserve): real_lost = set(lost) - set(reserve) real_reserve = set(reserve) - set(lost) for no in sorted(real_reserve): .. 2024. 11. 12.
최빈값 구하기 - Python, Counter https://school.programmers.co.kr/learn/courses/30/lessons/120812 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이 - 나의 생각Counter로 반복된 횟수를 구하고 max를 통해 최빈값을 구합니다. Counter로 구한 값을 반복문을 돌려 최빈값과 같은 경우를 찾아냅니다. 이 경우가 1개 이상이라면 최빈값이 여러개 있는 거니까 -1을 반환하고 1개라면 그 값을 반환해줍니다.  코드 from collections import Counterdef solution(array): answer = -1 cntNum = Counter(array) .. 2024. 11. 11.
게임 맵 최단거리 - Python, deque, bfs https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각전형적인 BFS 입문 문제라고 생각합니다. que에 시작 위치를 넣고 상하좌우를 살피면서 이동하는 거리를 저장해가다가 원하는 위치에 도달하면 그 값을 retrun해줍니다. dfs랑 다르게 그 위치에 도달한 첫번째 값이 최단 거리이기 때문입니다. 코드 from collections import dequedef solution(maps): n, m = len(maps), len(maps[0]).. 2024. 11. 10.
등수 매기기 - Pyton, sorted https://school.programmers.co.kr/learn/courses/30/lessons/120882?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각평균으로 등수를 구분한다 하지만 어차피 평균으로 하나, 영어, 수학 두 점수의 합으로 하나 똑같기에 그냥 합으로 진행했다. 두 과목의 합을 기준으로 내림차순으로 정렬한다. 그리고 index로 해당하는 위치를 찾아준다. index의 경우 앞에서 찾은 값을 반환해주기 때문에 순위가 중복으로 들어가게 된다. (1, 2, 2, 4, 4 이런거)  코드 # [영어, 수학]def solution(sco.. 2024. 11. 10.