목록코딩로그/알고리즘 공부 (5)
코딩로그
https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🔅 문제 접근FIFO으로, 큐 자료형태를 갖춘 형태로 다리를 건너기 때문에 큐 자료구조를 사용해서 문제를 풀면 될 것 같다는 생각이 들었다. 그리고 다리를 건너려면 다리 길이 만큼을 다리 위에서 머물러야 하기 때문에, 각 트럭이 잔여 거리를 튜플 형태로 가지고 있으면서 잔여거리가 0이 되면 다리에서 나오게 하는 방식으로 문제를 풀이하였다. 🔅 나의 풀이from collections import dequedef solution(bridge_l..
https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🔅 문제 접근각 프로세스당 개발을 위해 몇일이 필요한지를 알아보고, 7, 3, 9 이런 식의 배열이 있다면 7, 7, 9 이렇게 조정해 앞의 작업이 끝나지 않으면 뒤의 작업도 함께 기다리도록 한다. 배열의 개수가 100개 이하이기 때문에, 전체 배열을 한번씩 순회하는 방식으로 알고리즘을 구성하면 O(n) 내에서 충분히 풀이가 가능할 것이라고 판단하였다.🔅 문제 풀이def calc_day(p, s): return (100-p)//s if..
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🔅 문제 접근상단과 같이 가장 많이 재생된 장르를 고르고, 해당 장르에서 많이 재생된 노래를 2개씩 차례로 수록하는 문제다.단, 수록된 노래가 하나라면 하나의 곡만 선택하고 재생횟수가 같은 노래의 경우 고유번호 순으로 출력한다. 카테고리별로 노래를 분류한 뒤, 다중 조건을 걸어 노래를 출력해야 한다.다중 조건을 쉽게 걸고, 또 시간 복잡도를 줄일 수 있는 방법으로 heap가 생각났다. (1) 카테고리별로 분류를 할 때 카테고리 총 재생횟수를 ..
해시관련 문제풀이 모음이다. 난이도가 leve 1, 2로 쉬운 편이어서 포스팅을 할지 고민하였으나, 여러 문제를 같이 리뷰하면서 해시 알고리즘에 대한 공통적인 인사이트를 얻을 수 있을 것 같아 정리해보고자 한다.🔅 폰켓몬 문제https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krn/2개의 폰켓몬을 선택할 때, 선택할 수 있는 폰켓몬 종류의 최대를 구하는 문제다.def solution(nums): c = [] for n in nums: if n not in c: ..
https://school.programmers.co.kr/learn/courses/30/lessons/42578?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🔅 문제 접근- 문제 및 제한사항을 확인해보니 조합을 활용하여 겹치는 것이 없이 코디의 경우의 수를 세면 될 것 같다는 생각이 들었다. 일단 코디에 사용할 카테고리를 정하고, 그 안에서 어떤 옷을 입을지 계산하는 방식으로 알고리즘을 구성하였다. (1) 코디에 사용하는 카테고리의 개수가 1개일때, 2개일때, n개일때 각각 카테고리 선정에 대한 조합을 구하고 (2) 해당 조합일때에 해당되는 옷의 개수를 전부 곱..