Java11 자료구조 Queue - 정의, 특성, 선형 큐 질풍노도였던 21세 시절을 지나고 22살 이후 나에게 큐란 이 남성밖에 없었다. 큐 (Queue) 큐 선형큐 큐의 활용 Queue 큐(Queue)의 특성 스택과 마찬가지로 삽입과 삭제의 위치가 제한적인 자료구조 큐의 뒤에서는 삽입만 하고, 큐의 앞에서는 삭제만 이루어지는 구조 선입선출구조 (FIFO: First In First Out) 큐에 삽입한 순서대로 원소가 저장되어, 가장 먼저 삽입 (First In) 된 원소는 가장 먼저 삭제 (First Out) 된다 큐의 구조 및 기본 연산 큐의 선입선출 구조 큐의 기본 연산 삽입: enQueue 삭제: deQueue 연산 기능 enQueue(item) 큐의 뒤쪽(rear 다음)에 원소를 삽입하는 연산 deQueue() 큐의 앞쪽(front)에서 원소를 삭제.. 2023. 9. 8. 재귀 호출, Memoization 재귀 호출 재귀 호출이란? 再歸 자기 자신을 호출하여 순환 수행되는 것 함수 호출은 메모리 구조에서 스택을 사용한다. (이름만 같은 다른 메서드) 간단한 문제에 대해서는 반복문에 비해 메모리 및 속도에서 성능 저하가 발생한다 일반적으로 기본 부분 (Base case), 재귀 부분 (Recursive case)로 구성된다 Base case: 재귀 호출에서 빠져나가기 위한 조건 (탈출 조건) Recursive case: 자신을 호출하는 부분 (Base case로 유도하는 방향으로 작성한다) 재귀적 프로그램을 작성하는 것은 반복 구조에 비해 간결하고 이해하기 쉽다 하고자 하는 연산에서 여러 가지 분기가 있을 때 적용하기 좋다. 재귀 호출 작성 재귀 호출의 예) 팩토리얼 계산 함수에서 실행해야 하는 작업의 특성.. 2023. 9. 7. 2116 주사위 쌓기 (Java) (2116) 주사위 쌓기 🌍TISTORY 문제 🌐 천수는 여러 종류의 주사위를 가지고 쌓기 놀이를 하고 있다. 주사위의 모양은 모두 크기가 같은 정육면체이며 각 면에는 1부터 6까지의 숫자가 하나씩 적혀 있다. 그러나 보통 주사위처럼 마주보는 면에 적혀진 숫자의 합이 반드시 7이 되는 것은 아니다. 주사위 쌓기 놀이는 아래에서부터 1번 주사위, 2번 주사위, 3번 주사위, … 의 순서로 쌓는 것이다. 쌓을 때 다음과 같은 규칙을 지켜야 한다: 서로 붙어 있는 두 개의 주사위에서 아래에 있는 주사위의 윗면에 적혀있는 숫자는 위에 있는 주사위의 아랫면에 적혀있는 숫자와 같아야 한다. 다시 말해서, 1번 주사위 윗면의 숫자는 2번 주사위 아랫면의 숫자와 같고, 2번 주사위 윗면의 숫자는 3번 주사위 아랫면의 .. 2023. 8. 28. 1874 스택 수열 (Java) (1874) 스택 수열 생성일: 2023년 8월 10일 오전 10:21 🌍TISTORY 문제 🌐 스택 (stack) 은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다. 1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지킨다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 .. 2023. 8. 10. 9663 N-Queen (Java) 9663 N-Queen 문제 🌐 N-Queen 문제는 크기가 N×N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1≤N 2023. 8. 2. 이전 1 2 다음