교수님이 쓰라고 하셔서 쓰는 그런데 은근 재밌는 듯

분류 전체보기 32

[알튜비튜] 정렬 - 백준 2750, 2751, 10825번

맨날 까먹는 C++ 기본 준비#include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); return 0;}백준 2750번 : 수 정렬하기입력: 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. C++은 1초에 10억번 연산 가능 -> Bubble Sort(O(n^2))를 사용해도 시간초과가 발생하지 않는다. 내가 풀기1. 배열보다 vector를 쓴다2. algorithm안에 swap() 함수가 있다3. vector 범위 벗어나지 않게 ..

알튜비튜 2026.03.09

[자료구조] 해싱

키 값을 input으로 output이 특정 범위 내로 나오도록 연산을 수행한다. 이 결과를 주소로 hash table의 항목에 접근한다. 저장/ 탐색 모두 O(1), 최악의 경우 O(n)Dictionary(사전구조)map또는 table로 불리며 탐색 키와 value, 2가지 필드로 구성된다. hash function (해시 함수)탐색 키를 입력받아 hash address(해시 주소)를 생성 hash address가 hash table의 index+ hash value: 해시 함수의 결과값 Prime Number Modular Function (제산함수)h(k) = k mod MM: 해시 테이블 크기, 소수(prime number)로 선택 비트추출 함수M = 2^k일 때, 임의의 위치의 k개의 비트를 ..

자료구조 2025.12.09

[자료구조] 탐색

탐색 키: 항목과 항목을 구별해주는 키Sequential Search (Linear Search, 순차 탐색)정렬되지 않은 배열을 처음부터 마지막까지 하나씩 검사 Time Complexity: O(n) 비교 횟수성공: (n+1)/2실패: nint seq_search(int key, iint low, int high){ for(int i = low; i 개선된 순차 탐색 - 별로 개선 안 됨리스트 끝에 탐색 키 저장for문 안의 비교를 제거int seq_search2(int key, int low, int high){ list[high +1] = key; int i; for(i = low; list[i] != key; i++); //키 값을 찾을 때까지 if(i == (..

자료구조 2025.12.07

[자료구조] 정렬

record단위로 정렬record는 field로 이루어짐key field로 record를 구별Internal Sorting: 모든 데이터가 주기억장치에 저장된 상태에서 정렬External Sorting: 외부기억장치에 대부분의 데이터가 있고 일부만 주기억장치에 저장된 상태에서 정렬 Stability(안전성): 동일한 키 값을 갖는 레코드들의 상대적 위치가 정렬 후에도 바뀌지 않음Selection Sort (선택 정렬)External Sorting정렬된 왼쪽 리스트와 정렬 안 된 오른쪽 리스트처음에는 왼쪽 비어 있고, 오른쪽에서 왼쪽으로 옮기면서 정렬 Internal Sorting맨 앞에 들어가야하는 애부터 swapping Time Complexity: O(n^2)비교 횟수: O(n^2)이동 횟수: 3(n..

자료구조 2025.12.06

[자료구조] 그래프

그래프: G = (V, E)정점(node, vertices): 객체V(G) - 그래프 G의 정점들의 집합꼭 있어야 함, 중복 불가, order 없음 간선(edge, link): 정점들 간의 관계E(G) - 그래프 G의 간선들의 집합없어도 됨, 중복 불가, order 없음Undirected graph: 방향성이 없는 그래프Directed graph: 방향성이 있는 그래프 Weighted graph: 간선에 가중치가 할당된 그래프- 작은 걸 고르는 알고리즘이 많아서 보통 좋은 걸 작게 표현 Subgraph: 부분 그래프V(G)와 E(G)의 부분 집합으로 이루어진 그래프인접 정점(adjacent vertex)하나의 정점에서 간선에 의해 직접 연결된 정점조상 아니고 부모 정점의 차수(degree)- 무방향 그래..

자료구조 2025.12.04

[수치해석] 객체 탐지

Bone 이미지 데이터 350장 중 Fracture 이미지 50장, Implant 이미지 50장, Bone 이미지 50장을 선별했다. 이렇게 균형을 맞춘 데이터를 train에 100장, val에 40장, test용 10장으로 나눴다. train과 val은 라벨링을 해야한다. 어제 라벨링을 했었지만, Fracture는 좀 넓게 잡고, Implant는 최대한 여러개로 쪼개는 느낌으로 라벨링을 다시했다. from google.colab import drivedrive.mount('/content/drive')!pip install numpy!pip install pandas!pip install matplotlib!pip install opencv-pythonimport osimport numpy as n..

카테고리 없음 2025.12.04

[마피아] 완성

https://shinyunha.tistory.com/20 [마피아] Join SequenceTag: "Join:" 1. 사용자는 Test 파일을 실행시켜서 Lobby를 생성한다. 2. 생성된 Lobby는 자신의 ClientManager를 생성한다. 3. 모든 사용자가 자신의 Lobby를 생성하고 서버 연결이 완료되면 화면에 각자 닉네shinyunha.tistory.comhttps://shinyunha.tistory.com/21 [마피아] Start SequenceTag: "Start:" 1. 사용자가 "시작하기" 버튼 클릭2. Lobby가 "Start:" 메시지를 ClientManager에게 전달//시작하기 버튼 누르면startButton.addActionListener(new ActionListene..

JAVA 2025.12.02

[마피아] 투표

투표는 밤과 유사하게 진행된다. Tag도 똑같이 "Target:"을 사용한다. 1. 투표 제한시간은 30초이다@Overridepublic void execute(사회자 매니저) { // TODO Auto-generated method stub 매니저.getCommandManager().broadcastAll("System:"+"투표가 시작되었습니다. 30초 안에 마피아로 의심되는 플레이어의 ID를 입력해주세요"); try { Thread.sleep(30000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } voteR..

JAVA 2025.12.02