자료구조&알고리즘

덱 알고리즘을 이해하고 덱알고리즘을 사용한 문제를 풀어보자. 덱 알고리즘이란? 덱 알고리즘은 큐 알고리즘을 변형한 자료구조입니다. 큐알고리즘은 Front에서는 데이터를 꺼낼 수만 있고 Rear은 데이터를 삽입만 가능합니다. 하지만 덱은 Front와 Rear모두 데이터를 삽입, 추출이 가능한 알고리즘입니다. 다음은 데큐에서 Fornt와 Rear에서 인큐 데큐가 동작하는 예시입니다. 문제풀이 데큐또한 자바에서 지원하는 메서드가 존재합니다. 하지만 이번 풀이에서도 예시를 든 문제이기 때문에 직접 데큐 알고리즘을 작성해 해당 문제를 풀어보도록 하겠습니다. 문제에서 보면 총 8개의 데큐 메소드를 만들어야 하는 것을 볼 수 있습니다. 문제풀이방법 해당 문제도 간단하게 해결할 수 있습니다. 큐에서 사용한 놀리적인 위..
큐의 동작방식을 알아보고 문제를 풀어보자! 들어가며 큐의 개념과 기본적인 사용법을 알아보고, 백준의 문제를 통해 한번 풀어보도록 하겠습니다. 큐(Queue)란? 큐는 FIFO(First-in First-Out)의 원칙을 따르는 자료구조입니다. LIFO를 사용하는 스택과는 달리 큐는 먼저 들어간 데이터부터 먼저 꺼내는 특징을 가지고 있습니다. 큐에서 데이터를 넣을 때는 en-queue라고하며 데이터를 꺼낼 때에는 dequeue라고 부릅니다. 이제 {1,3,21}을 큐를 이용해 입출력을 한번 해보겠습니다. 위와 같이 먼저 들어온 데이터부터 출력되는 것을 볼 수 있습니다. 하지만 이와 같이 큐를 사용하게 된다면 1을 디큐 했을 때 배열[1], 배열[2]의 값을 한 칸식 앞으로 이동해야 하는 문제점이 생깁니다...
스택이란? 들어가며 데이터를 일시적으로 보관하는 자료구조인 스택에 대해서 알아보도록 하겠습니다. 스택 이란? 스택은 자료를 일시적으로 보관해 두는 자료구조로써 후입선출(LIFO: Last In First Out)을 통해서 데이터를 일시적으로 보관합니다. LIFO는 영문자 그대로 나중에 들어간 데이터부터 가장 먼저 꺼내는 방법입니다. 스택에서는 데이터를 넣을때는 PUSH라고 부르며, 데이터를 꺼낼 때는 POP라고 부릅니다. 위그림과 같이 푸쉬와 팝과정을 나타내고 있다. psuh를 할 때에는 데이터를 차곡차곡 쌓아가다가 pop을 하면 제일 최근에 들어온 45 값을 pop며 LIFO 과정을 거치는 자료구조라고 볼 수 있다. 알고리즘 예제 알고리즘예제에는 백준의 28278번을 보고 풀어볼 예정입니다. 자바에서는..
선형알고리즘과 이진 검색 알고리즘 들어가며 데이터를 조회할때 검색 알고리즘을 사용하곤 합니다. 그래서 이번 포스팅에서는 가장 검색의 기본적인 알고리즘인 선형 검색과 이진검색 알고리즘에 대해서 알아보도록 하겠습니다. 선형 검색 선형검색이란? 리스트나 배열에서 순차적으로 배열 요소를 검사해 나가며 원하는 값을 찾는 방법입니다. 즉 배열[0]부터 배열[N]까지의 요소 중 원하는 KEY값을 찾는다고 할 수 있습니다. 예를 들어 {1,2,3,7,9} 값이 들어있는 배열을 생각해 봅시다. 만약 "7"이라는 값을 찾으려면 다음과 같이 arr [0]부터 arr [3]까지 찾게 됩니다. 만약에 "10"이라는 값을 찾는다고 가정하면 다음과 같이 arr[0]~arr[4]까지 모든 배열을 검색하고 난 뒤에 종료를 하게 됩니다..
프로그래머스 코딩테스트 공부 1일차 문제 설명 정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion함수를 완성해주세요. 제한사항 -50,000 ≤ num1 ≤ 50,000 -50,000 ≤ num2 ≤ 50,000 입출력 예 num1 num2 result 2 3 5 100 2 102 입출력 예 num1이 2이고 num2가 3이므로 2+3 = 5를 return 합니다. 나의 코드 123456789#include #include #include int solution(int num1, int num2) { int answer = 0; answer = num1+num2; return answer;}Colored by Color Scriptercs
코드기록사
'자료구조&알고리즘' 카테고리의 글 목록