본문 바로가기
반응형

알고리즘9

[프로그래머스 Lv.2] 점프와 순간이동 문제 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 return 하는 .. 2023. 8. 29.
[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.
[Java] Math함수 - Math 함수란 Math 함수는 자바스크립트에서 제공하는 내장 객체로, 숫자와 관련된 다양한 수학적인 연산을 수행하는 메서드들을 포함하고 있습니다. 이를 통해 수학적인 계산을 더 쉽고 효율적으로 처리할 수 있습니다. 1.Math.abs(x): 절댓값 계산 1 2 3 4 let num = -5; let absoluteValue = Math.abs(num); // absoluteValue는 5가 됨 cs 2.Math.ceil(x): 올림 1 2 3 4 let num = 5.3; let roundedUp = Math.ceil(num); // roundedUp는 6이 됨 cs 3.Math.floor(x): 내림 1 2 3 4 let num = 5.7; let roundedDown = Math.floor(nu.. 2023. 8. 17.
반응형