본문 바로가기

Algorithm31

[Algorithm] 스택 (Stack) - Kotlin 이번 포스팅에서는 스택(Stack)에 대해 정리해보고 직접 구현해보려 한다. 스택은 기본적으로 선형구조로 이루어져 있으며 LIFO(Last In First Out) 맨 마지막에 들어간 데이터를 가장 먼저 출력하는 방식의 구조를 갖고 있다. 기본적인 용어는 push(데이터를 넣는 함수), pop(데이터를 꺼낼 함수) top(데이터를 넣을 위치와 꺼낼 위치)가 있다. 스택을 구현할 때, push를 통해 데이터를 넣고 top의 값을 수정해주며 pop을 통해 데이터를 꺼내고 top의 위치를 수정하는 방식으로 구현하면 된다. Stack.kt import java.util.* class Stack(private val size: Int) { private val stackArray = Array(size){ _ -.. 2021. 3. 20.
[Algorithm] 큐 (Queue) - Kotlin 이번 포스팅에서는 큐(Queue)에 대해 정리해보고 큐의 종류 중 원형 큐를 직접 구현해보려 한다. 큐는 컴퓨터의 자료 구조의 한 가지로, FIFO(First In First Out) 구조로 저장하는 형식을 말한다. 쉽게 말하면 배열에서 값을 빼낼 때, 가장 먼저 들어온 값을 우선적으로 뺀다고 생각하면 된다. 큐에서 기본적인 용어로는 put 또는 insert (값을 넣는 함수), get 또는 delete(값을 꺼내는 함수)를 의미하며 front의 경우는 데이터를 get 할 수 있는 위치를 뜻하며 rear의 경우 데이터를 배열에 넣을 위치를 뜻한다. 원형 큐란? 일반적인 선형 큐는 일반적으로 크기가 제한되어 있으며 만약 빈 공간을 사용하여 제한 사항을 보완하려는 경우 모든 자료를 꺼내거나 자료를 한 칸씩 .. 2021. 3. 20.
[Algorithm] 프로그래머스 가장 큰 수(1) - Kotlin 프로그래머스의 정렬 문제 중 Level 2문제인 가장 큰 수에 대해 정리해보려 한다. 코딩 테스트 연습 - 가장 큰 수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제의 내용을 요약하면 주어진 배열의 객체를 모두 한 번씩 사용해 만들 수 있는 가장 큰 수를 구하는 문제이다. numbers return [6, 10, 2] "6210" [3, 30, 34, 5, 9] "9534330" 제한 사.. 2021. 3. 10.
반응형