전체 글

백엔드 개발자로 성공하고 싶은 사람의 블로그
개 요 - HashMap이란? 자바에서의 HashMap이란 Python의 Dictionary, JavaScript의 Json과 비슷한 형태로, Key와 Value가 한 쌍을 이뤄 저장되는 자료구조의 한 종류로 Map Interface를 상속받아 정의되어 있다. HashMap에서 데이터를 저장할 때는, Key로 들어오는 데이터를 hash함수를 통해 해싱하고 해당 인덱스에 Value로 들어온 값을 저장하게된다. 데이터를 조회할때는 Key 값만을 넣어서 조회하는데, 이때도 들어온 Key 값을 해싱해서 해당 구조에서 데이터를 조회하기때문에 보다 빠르게 데이터를 조회할 수 있다. 특징 Key,Value 구조로 이루어져있다. Key값은 중복이 안되며, Value 값은 같아도 Key값이 다르다면 중복이 가능하다. 해..
개요 Array는 단어 그대로 어떤 줄을 의미한다. 자바에서의 Array는 특정 타입들이 들어있는 자료구조를 의미한다. 동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 연관된 데이터들을 하나로 묶어준다는 뜻이다. 해당 포스팅에서는 장점 및 단점, 선언과 간단하게 메서드들을 알아볼 예정이다. 특징 배열의 장점은 연관된 데이터를 저장하기 위한 변수의 선언을 줄여주며, 반복문 등을 통해서 계산과 같은 과정을 쉽게 할 수 있게한다. 단점이 있다면, 초기에 배열을 선언할 때 정해진 크기가 고정되어, 배열의 원소 추가나, 삭제가 용이하지 않다. 구현 // 배열 사이즈 정의 int size = 5; // int array int[] int_arr1 = new int[size]; int[] int_..
문제 문제 설명 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 아이디어 우선 출력을 위한 String을 만들 때는,..
문제 문제 설명 운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다. 1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다. 2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다. 3. 만약 그런 프로세스가 없다면 방금 꺼낸 프로세스를 실행합니다. 3.1 한 번 실행한 프로세스는 다시 큐에 넣지 않고 그대로 종료됩니다. 예를 들어 프로세스 4개 [A, B, C, D]가 순서대로 실행 대기 큐에 들어있고, 우선순위가 [2, 1, 3, 2]라면 [C, D, A, B] 순으로 실행하게 됩니다..