본문 바로가기

분류 전체보기36

[백준][JAVA] 1158번: 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 해당 문제는 원 순열로 Queue구조를 이용하면 간단하게 구현할 수 있다. LinkedList가 Queue를 구현하기 때문에 LinkedList를 이용했다. 코드는 먼저 N명의 사람을 순차적으로 LinkedList에 담은 후 K-1번 앞의 사람을 뒤로 보내주고 다음의 K번째를 제거해준다. 해당 과정을 반복하며 queue가 빈 값이 될 때까지 진행 시켜주면 된다. import java.util.*; import java.io.*; public class Main { public static.. 2023. 8. 12.
[JAVA][자료구조] Linked List 목적 자바에서 LinkedList는 데이터를 연결된 노드로 구성된 선형 자료구조입니다. 오늘은 LinkedList에 대해서 알아보겠습니다. LinkedList 특징에 대해 알아보자 LinkedList 관련 메소드에 대해서 알아보자. Linked List 각 노드는 값과 다음 노드에 대한 참조(주소)를 가지고 있습니다. 각 요소들이 메모리 상에 임의로 배치되어 있으며, 인덱스 기반으로 접근하는 것이 아닌 다음 노드를 통해 순차적으로 탐색합니다. 삽입 및 삭제 작업이 많을 때 유용한 자료구조입니다. 중간에 요소를 추가하거나 삭제할 경우, 단순히 앞뒤의 두 개의 포인터만 변경하면 되기 때문에 O(1) 시간 복잡도로 수행됩니다. 임의 위치에 접근하기 위해서는 처음부터 순차적으로 탐색해야 하므로 O(n) 시간 복.. 2023. 8. 12.
[백준][JAVA] 26008번: 해시 해킹 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long answer = 1L; int n = sc.nextInt(); int m = sc.nextInt(); int a = sc.nextInt(); int h = sc.nextInt(); for(int i = 0; i < n-1; i ++){ answer = (answer * m)%1000000007; } System.out.println(answer); } } 사진에서 Po + B 로 정리를 한 식이 있다. 결론은 B가 어떠한 값이 와도 Po 값 하나로 h(P) (=즉, H, %M한 값)이 정.. 2023. 8. 12.
[JAVA][자료구조] HashMap 목적 HashTable의 발전형인 HashMap은 자바에서 매우 유용한 데이터 구조 중 하나로, key-value 쌍으로 데이터를 저장하는 데에 사용됩니다. 이해하기 쉽고 빠른 검색 속도를 제공하는 해시 테이블 기반의 Map 인터페이스 구현체입니다. 오늘은 HashMap에 대해 알아보겠습니다. HashMap에 대해 알아보자 HashMap관련 메서드를 알아보자 HashMap HashMap은 키와 값으로 이루어진 엔트리(Entry)로 데이터를 저장합니다. 각각의 키는 고유해야 하며, 값은 중복된 값을 가질 수 있습니다. 내부적으로 해시 함수를 사용하여 각각의 키에 대한 해시 코드(hash code)를 계산하고, 이 해시 코드를 기반으로 배열 내에서 해당 엔트리의 위치를 찾습니다. public class Ha.. 2023. 8. 12.
LIST