728x90 TIL - 프로그래밍/Python 알고리즘198 [백준] 2473. 세 용액 - Python https://www.acmicpc.net/problem/2473 2473번: 세 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 3 이상 5,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 www.acmicpc.net 풀이 조합 N이 최대 5000이므로 조합 사용시 시간 초과 발생 3개를 선택해야하는데 고정값이 있으면 편할 듯 2개를 고정하고 최적의 1개 찾기 시간 초과 1개를 고정하고 최적의 2개 찾기(투 포인트) 이분탐색 합이 0이면 멈추기 sys.exit() -97 고정 -97 -6 -2 2 6 98 -6과 98 선택 -> 숫자의 합 : -5 -> 음수이므로 오른쪽으로 한 칸 이동 -.. 2023. 3. 7. [프로그래머스] 단속카메라 - Python https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이1 진출지점에 카메라를 설치해야 최소로 설치가 가능하다 그러므로 진출지점을 기준으로 정렬 진출지점에 설치하고 난 후 이 카메라와 만나는 차량은 pass / 만나지 않는 차량의 진출시점에 카메라 설치 반복 코드1 def solution(routes): # 나가는 지점 오름차순으로 정렬 routes.sort(key=lambda x:x[1]) # 카메라 개수 answer = 0 # 차량 경로 번호 .. 2023. 3. 6. [프로그래머스] 다리를 지나는 트럭 - Python https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 다리를 건너는 과정이 필요하므로 deque를 통해 다리를 건너는 과정을 표현 1초가 흐르면 다리를 1칸씩 건너므로 deque.popleft()로 다리의 맨 앞 부분 제거 트럭이 올라갈 수 있으면 트럭을 추가 / 없으면 0을 추가 마지막에 올라간 트럭이 다리를 다 건너는 시간 추가!! 코드 from collections import deque # bridge_length : 올라갈 수 있는 최.. 2023. 3. 6. [프로그래머스] 숫자 게임 - Python https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이1 heap 최대힙 가장 큰 사람끼리 비교 B팀이 이기면 +1 다음으로 가장 큰 사람끼리 비교 그렇지 않으면 B팀의 가장 큰사람이 다음 경기에 투입 다음으로 가장 큰 A팀 사람과 경기 코드1 import heapq def solution(A, B): answer = 0 # A와 B를 heap으로 만들기(최대힙) A = [-i for i in A] B = [-i for i in B] heapq... 2023. 3. 5. [프로그래머스] 스킬트리 - Python https://school.programmers.co.kr/learn/courses/30/lessons/49993# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 순서에 있는 스킬만 확인해보면 된다는 뜻 (1) 순서에 없는 스킬 지워보기 (1)의 순서가 맞는지 확인해보기 선행이 필수이므로 (1)의 길이만큼만 확인하면됨 만약 (1)에 스킬이 아무것도 없어도 배울 수 있음 코드 def solution(skill, skill_trees): answer = 0 for t in skill.. 2023. 3. 4. [백준] 1005. ACM Craft - Python https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 풀이 승리하기 위해 건설해야 할 건물(W)를 건설하기 위해 이전 건설 루트를 알아내고 싶었다. 실패(건설시작점이 여러군데 일 수 있다..) '순서가 정해져 있는 작업'을 차례로 수행해야 할 때 그 순서를 결정 위상 정렬 건물 W를 건설완료 하는데 드는 최소 시간 + 이전 건물 건설 다 하고 넘어와야함 DP (다이나믹 프로그래밍) https://chaemi720.tistory.com/220 위.. 2023. 3. 3. 이전 1 ··· 4 5 6 7 8 9 10 ··· 33 다음 반응형