알고리즘/프로그래머스
-
[2023 현대모비스 알고리즘 경진대회 본선] 중요한 도로알고리즘/프로그래머스 2024. 6. 19. 23:50
https://school.programmers.co.kr/learn/courses/30/lessons/214293 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 구현자체는 어렵지 않은데, 최단 경로를 이루는 경로 중 유일 경로임을 판별하여하는 부분이 어려웠던 문제최근데 다익스트라 문제를 잘 안풀어서, 역방향 탐색할 생각 조차 안 떠올라 시간 좀 썼습니다. 문제 설명 암튼 간단히 요약하자면... 다음과 같다.1. 도로의 비용은 도로의 길이와 도로의 교통량의 합이다.2. 간선하나에 대해 교통량이 증가/감소 할 수 있고, 이 교통량에 따라 최소 비용이 바뀔 ..
-
[2020 카카오 인턴십] 동굴 탐험알고리즘/프로그래머스 2024. 6. 19. 03:09
https://school.programmers.co.kr/learn/courses/30/lessons/67260 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 프로그래머스 플랫폼에 다시 적응할 겸, 간간히 프로그래머스도 풀려고 하는 중!옛날에는 프로그래머스 3Lv도 엄청 어렵다 싶었는데, 또 풀만 한 것 같기도 하고...대충 백준 골드? 1, 2, 3?? 모르겠다. tc 하나가 pass가 안돼서 좀 걸렸다. ㅜㅜ 문제에서 방문 순서 조건을 A->B 유일로 주었기 때문에아직 방문할 수 없는 노드를 탐색하게 되면 맵에 저장해 둔다. 그 외의 경우는 정상적으로 ..
-
[2022 KAKAO TECH INTERNSHIP] 두 큐 합 같게 만들기알고리즘/프로그래머스 2023. 11. 12. 20:06
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr list의 pop(n)을 사용하게 되면, O(n) 시간복잡도를 가진다. deque의 popleft를 통해 O(1) 의 시간복잡도로 원소를 pop 해준다. 단순히 한쪽의 queue에서 다른 쪽의 queue로 값을 더하고 빼면서 정답을 찾는 문제이다. 종료조건의 경우 하나의 큐가 pop, append를 반복하여 처음으로 돌아올 때 필요한 횟수인 (queue1 + queue2) * 2 로 제약한다. ..
-
[2022 KAKAO TECH INTERNSHIP] 성격 유형 검사알고리즘/프로그래머스 2023. 11. 12. 17:47
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그냥 조건에 맞게 각각 점수를 잘 더해서 출력해내면 된다. from collections import defaultdict from functools import reduce def solution(survey, choices): answer = '' scoreMatrix = [0, 3, 2, 1, 0, 1, 2, 3] characterType = 'RCJATFMN' result = defaul..
-
[2018 KAKAO BLIND RECRUITMENT] 셔틀버스알고리즘/프로그래머스 2023. 8. 11. 13:39
https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 코드 from collections import defaultdict def solution(n, t, m, timetable): # 요소들은 분 으로 변환 tt = sorted(list(map(lambda x : convert(x), timetable))) table = defaultdict(int) # 셔틀이 오는 시각 구하기 shuttle = [540+i*t for i in range(n..
-
[Python] 에어컨알고리즘/프로그래머스 2023. 7. 28. 09:28
https://school.programmers.co.kr/learn/courses/30/lessons/214289 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 코드 import math def solution(temperature, t1, t2, a, b, onboard): # 0으로 정규화 diff = temperature - t2 if temperature > t2 else t1 - temperature # 시간0에 대해 초기 비용으로 초기화 result = [[ 1000000 for i in range(diff+1) ]+[0]] last_pa..
-
[Python] 상담원 인원알고리즘/프로그래머스 2023. 7. 23. 12:52
https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이 코드] from collections import Counter, defaultdict from itertools import combinations_with_replacement def solution(k, n, reqs): # 큰 수 answer = 999999999 # 중복조합 comb = combinations_with_replacement([i for i in range(k)],..
-
[2022 KAKAO BLIND RECRUITMENT] 주차 요금 계산알고리즘/프로그래머스 2022. 8. 24. 19:44
https://school.programmers.co.kr/learn/courses/30/lessons/92341?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 - 들어오고 나가는 차량에 대해서, 요금을 계산하려고 한다. 주어지는 데이터 - fees에는 기본시간(분), 기본요금, 단위시간(분), 단위요금 이 담겨있다. - records는 시간, 차량번호, 기록(IN, OUT) 이 담겨있다. 풀이 1. 각 차량의 번호를 key로 가지고, 입차했던 시간을 value로 가지는 딕셔너리를 만든다. 모든 입-출차 시간을 각..