1. 큐(queue)란 무엇인가?'큐(queue)' 란 '줄을 서다'라는 뜻을 가지고 있다. 큐는 먼저 들어간 데이터가 먼저 나오는 자료구조이며, 이런 큐의 특징을 FIFO(First In First Out) 또는 선입선출이라고 한다. 그리고 큐에서 삽입하는 연산을 Enqueue(add) 라고 하고, 꺼내느 연산을 Dequeue(Poll) 이라고 한다. 2. 큐의 ADT구분정의설명연산boolean isFull()큐에 들어 있는 데이터 개수가 maxsize 인지 확인 해서 boolean 값을 반환boolean isEmpty()큐에 들어 있는 데이터가 하나도 없는지 확인해서 boolean 값을 반환void add(ItemType item)큐에 데이터 삽입ItemType poll()큐에서 처음에 삽입한 제..
📑 1. 문제설명✅ 문제 이문제는 유대인 역사가 플라비우스 요세푸스가 만든 문제이다. N명의 사람이 원 형태로 서 있다. 각 사람은 1부터 N까지 번호표를 갖고 있다. 그리고 임의의 숫자 K가 주어졌을 때 다음과 같이 사람을 없앤다.1번 번호표를 가진 사람을 기준으로 K번째 사람을 없앤다.없앤 사람 다음 사람을 기준으로 하고 다시 K번째 사람을 없앤다.N과 K가 주어질 때 마지막에 살아 있는 사람의 번호를 반환하는 solution() 함수를 구현해주세요 ✅ 제약조건N과 K는 1이상 1000이하의 자연수이다. ✅ 입출력 예NKreturn523 💡 2. 풀이 과정입출력 예를 그대로 그림으로 구현하려고 한다.N = 5, K = 2 이고 사람마다 1~5번까지의 숫자를 붙여 원형으로 배치한다.그리고 첫번째 ..
1. 문제설명 예제 #1문제에 나온 예와 같습니다. 예제 #26개의 프로세스 [A, B, C, D, E, F]가 대기 큐에 있고 중요도가 [1, 1, 9, 1, 1, 1] 이므로 [C, D, E, F, A, B] 순으로 실행됩니다. 따라서 A는 5번째로 실행됩니다.2. 접근방식2-1. 배열 쪼개기 (추천하지 않음❌)보자마자 최대값을 찾아서 최대값의 인덱스를 기준으로 배열을 쪼개서 다시 붙이면 될 거 같다고 생각했다. priorities 배열를 순회하면서 우선순위 max값을 찾고, 그 값의 인덱스를 기준으로 배열을 두 개로 쪼갠 다음, 앞 뒤로 이어서 붙이는 것이다. 되게 쉽게 풀 줄 알았는데 생각보다 어려웠고 솔직히 계속 실패했다. 배열 쪼개는 메서드를 구글에서 찾아가면서 코드를 쓰는데 써 내려 갈수록 ..