본문 바로가기
반응형

코딩29

[프로그래머스 Lv.2] 다리를 지나는 트럭 문제 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 따라서, 모든 트럭이 다리를 지나려면 최소 8초가 걸립니다. solution 함수의 매개변수로 다리에 올라갈 수 있는 트럭 수 bridge_length, 다리가 견딜 수 있는 무.. 2023. 9. 5.
[프로그래머스 Lv.2] 프로세스 문제 운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다. 1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다. 2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다. 3. 만약 그런 프로세스가 없다면 방금 꺼낸 프로세스를 실행합니다. 3.1 한 번 실행한 프로세스는 다시 큐에 넣지 않고 그대로 종료됩니다. 예를 들어 프로세스 4개 [A, B, C, D]가 순서대로 실행 대기 큐에 들어있고, 우선순위가 [2, 1, 3, 2]라면 [C, D, A, B] 순으로 실행하게 됩니다. 현재 실.. 2023. 9. 3.
[Java] 스택(Stack)과 큐(Queue) ✔️스택과 큐 란? 스택과 큐는 각각 후입선출(LIFO, Last In First Out)과 선입선출(FIFO, First In First Out) 원칙을 따르며, 이 두 자료구조를 이해하면 프로그래밍에서 데이터 처리 및 알고리즘 구현에 유용하게 활용할 수 있다. 💡 스택(Stack) 스택은 한 쪽 끝에서만 데이터의 추가와 삭제가 일어나는 자료구조입니다. 가장 위에 있는 항목이 가장 먼저 제거되는 후입선출(LIFO) 원칙을 따릅니다. 주로 함수 호출과 같은 임시 데이터 저장, 역추적 등에 사용됩니다. 자바에서는 java.util.Stack 클래스를 사용하여 스택을 구현할 수 있습니다. 💡 스택(Stack)의 주요 함수 push(item): 스택의 맨 위에 요소를 추가합니다. pop(): 스택의 맨 위에서.. 2023. 8. 24.
[Algorithm] 시간복잡도 ✔️시간 복잡도란? 시간 복잡도는 알고리즘의 수행 시간이 입력 크기에 어떻게 의존하는지를 나타내는 개념입니다. 즉, 알고리즘이 얼마나 빠르게 실행되는지를 표현하는 지표입니다. 알고리즘의 성능을 분석하고 비교하기 위해 중요한 개념 중 하나입니다. 💡 Big-O 표기법 알고리즘의 시간 복잡도를 나타내는 방법 중 하나로 Big-O 표기법이 있습니다. Big-O 표기법은 알고리즘의 최악의 경우 실행 시간의 상한을 표현합니다. 이는 입력 크기에 따른 알고리즘의 실행 시간의 증가 추이를 나타내는 것으로, 주로 가장 느린 실행 시간을 고려하는 것이기 때문에 실제로 알고리즘이 얼마나 빠른지를 정확하게 나타내지는 않을 수 있습니다. 📌상수 시간 복잡도 (O(1)) 알고리즘의 실행 시간이 입력 크기에 상관없이 일정한 상수.. 2023. 8. 21.
반응형