본문 바로가기
반응형

4

[Python] 백준 1158: 요세푸스 문제 solved.ac 기준 Silver 3문제요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다.N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)출력예제와 같이 요세푸스 순열을 출력한다.예제 입력 17 3 예제 출력 1정답 코.. 2024. 7. 29.
3. 큐 (Queue) 큐란? 선입선출(First In First Out / FIFO) 특성을 가지는 선형 자료 구조이다. 앞서 살펴본 스택과는 대비되는 특성으로, 스택과는 반대로 먼저 들어온 데이터가 먼저 나오는 순서를 유지하는 구조를 가지고 있다.큐의 연산 큐에는 선형큐, 환형큐, 우선순위 큐 등의 바리에이션이 있지만 여기서는 선형큐를 기준으로 설명한다.기능명칭시간복잡도삽입enqueueO(1)삭제dequeueO(1)큐의 장점 1. 작업의 순서를 유지하여야 하는 알고리즘에 적합하다. 2. 효율적인 삽입과 삭제로 연산 시간이 매우 적다. 3. 운영체제의 스케줄링, 네트워크 패킷 처리, 예약, 대기열 등 많은 분야에서 활용도가 높다. 큐의 단점 1. 순서를 유지해야하는 특성상 스택과 배열에 비해서는 약간 복잡한 구조. 2. 스택.. 2024. 7. 2.
0. 자료구조란? 자료구조? 자료구조(Data Structure)는 데이터를 효율적으로 관리할 수 있도록 만든 데이터의 구조를 말한다. 데이터의 효율적인 접근과 변경을 위한 방법이기 때문에 알고리즘을 배우기 전에 무조건적으로 선행하여 학습해야하는 컴퓨터 과학 학문이다. 메모리는 1차원 구조이기 때문에, 세상 속에 존재하는 다차원 구조의 데이터를 메모리에 맞게 1차원으로 표현하는 방법을 학습한다.  데이터의 저장과 접근을 효율적으로 하기 위해서 자료구조는 매우 중요하다. 적절한 구조를 사용하면 알고리즘의 성능을 크게 향상시킬 수 있으며, 잘못된 구조를 선택하면 프로그램의 성능이 저하될 수 있다. 따라서 자료구조를 깊이 이해하고 상황에 맞게 활용하는 능력은 모든 소프트웨어 개발자에게 필수적이다. 예를 들어, 데이터 검색이 빈.. 2024. 6. 26.
[Python] 백준 1021번: 회전하는 큐 자료구조의 사용과 함께 알고리즘 풀이에 자주 쓰이는 데크를 푸는 것을 다시 깨우치기 위해 쉬운 문제부터 시작했다. 이 문제는 큐의 회전하는 성질이 데크와 맞닿아 있다. 회전을 pop을 하면서 반대편에 다시 append해주는 방식으로 구현하면 편리하다. 문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 오른쪽으로 한 칸 이동.. 2024. 4. 6.
반응형