본문 바로가기

전체 글

(291)
프로그래머스, 광물캐기 프로그래머스, 광물캐기 📜문제 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분류 : accepted 📜풀이 처음 문제를 봤을때, 무조건 곡괭이를 순서대로 다 써야하는 줄 알았다. # [dia, iron, stone] picks = [0, 2, 1] 다이아몬드 곡괭이 없으니, 넘어가고 철 곡괭이로 10번 광물 캐기, 돌 곡괭이로 5번 광물 캐기 ❌ 잘못된 풀이 from collections import deque # [dia, iron, s..
멀티프로세서 스케줄링 멀티프로세서 스케줄링 SQMS (단일 큐 방식) MQMS (멀티 큐 방식) ❓ 병행성 concurrency 공유데이터 접근할 때, 올바른 연산 결과를 보장하기 위해(상호배제를 보장하는 위해) 락-프리(lock-free) 데이터 구조 사용. 하지만, 성능 측면에서 CPU의 개수가 증가할수록 동기화된 자료 구조에 접근하는 연산은 매우 느리게 되어 문제가 있다. 하지만, 더 많은 CPU를 추가해도 더 빨리 실행되지 않는 문제 발생! 이를 쓰레드를 이용(멀티 쓰레드 응용 프로그램)하면 더 많은 수의 CPU가 주어질 수록 더 빠르게 실행된다. ❓ Thread와 Process의 차이는? 프로세스는 독립적, 높은 수준의 격리, 내결함성 자체 메모리 공간, 리소스 및 실행 환경을 갖춘 독립적인 프로그램으로 다른 프로세..
백준, 최소 비용 구하기 백준, 최소 비용 구하기 📜문제 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 분류 : accepted ❌ 초기 접근법 시작점에서 마지막점까지 도달할 모든 경로에 대한 비용을 탐색해 total_costs 리스트에 저장. 결과값으로 total_costs의 최솟값을 반환한다. total_costs = [] def move(start, end): queue = deque([(start, 0)]) # visited ..