본문 바로가기

전체 글

(17)
상어 초등학교 https://www.acmicpc.net/problem/21608 백준 21608번: 상어 초등학교 문제 풀이이 문제는 N x N 크기의 교실에 학생들을 자리 배치하고, 친구들과의 인접도를 기준으로 만족도를 계산하는 문제입니다. 각 학생의 만족도는 인접한 친구의 수에 따라 달라지며, 자리 배치는 아래와 같은 규칙에 따라 이루어집니다. 1. 비어있는 칸 중에서 인접한 친구의 수가 가장 많은 칸 선택2. 인접한 친구의 수가 같은 칸이 여러 개라면, 인접한 비어있는 칸이 가장 많은 칸 선택3. 그런 칸도 여러 개라면, 행 번호가 가장 작은 칸 선택4. 행 번호가 같은 칸이 여러 개라면, 열 번호가 가장 작은 칸 선택코드 구현아래는 이 문제의 Java 구현 코드입니다. import ..
DFS BFS DFS (Depth-First Search)DFS는 그래프나 트리의 모든 노드를 방문하는 알고리즘 중 하나입니다. DFS는 재귀 또는 스택을 사용하여 구현DFS의 예시 구현 (재귀)import java.util.*;public class DFS { private Map> adjList = new HashMap(); public void addEdge(int u, int v) { adjList.computeIfAbsent(u, k -> new ArrayList()).add(v); adjList.computeIfAbsent(v, k -> new ArrayList()).add(u); } public void dfs(int start) { Set vis..
큐 Queue Queue ADT (Abstract Data Type)연산 (Operations)boolean isFull() → 큐가 가득 찼는지 확인하여 boolean 값을 반환합니다.boolean isEmpty() → 큐가 비어 있는지 확인하여 boolean 값을 반환합니다.void enqueue(itemType item) → 큐에 데이터를 추가합니다.itemType dequeue() → 큐에서 가장 먼저 추가된 데이터를 제거하고 해당 값을 반환합니다.상태 (State)int front → 큐의 첫 번째 요소의 위치를 기록합니다.int rear → 큐의 마지막 요소의 위치를 기록합니다.itemType data[maxsize] → 큐의 데이터를 관리하는 배열로, 최대 maxsize개의 데이터를 관리합니다.세부 동작 ..
스택 Stack ADT연산 (Operations)boolean isFull() → 스택이 가득 찼는지 확인하여 boolean 값을 반환합니다.boolean isEmpty() → 스택이 비어 있는지 확인하여 boolean 값을 반환합니다.void push(itemType item) → 스택에 데이터를 추가합니다.itemType pop() → 스택에서 최근에 추가된 데이터를 제거하고 해당 값을 반환합니다.상태 (State)int top → 스택에서 최근에 추가된 데이터의 위치를 기록합니다.itemType data[maxsize] → 스택의 데이터를 관리하는 배열로, 최대 maxsize개의 데이터를 관리합니다.세부 동작 (Detailed Operations)스택에 데이터를 추가하고 빼는 경우에서의 세부동작을 공부하..
NHN 아카데미 6기 후기 NHN 아카데미 솔직 후기시작하며이 글을 시작하기 앞서 하고 싶은 말이 있습니다.채용 연계라는 말에 현혹되지 마세요.지원 동기먼저, 필자는 3기 블로그 후기를 보고 지원했습니다.초반에는 NHN 채용 연계라는 꿈을 갖고 지원했습니다. 진짜 열심히 했고, 얻은 것도 많았습니다. 실망과 현실어느 순간 이전 기수는 NHN 채용 연계자가 더 이상 없다는 소식이 들려왔고, NHN만 바라보고 온 입장에서 허탈감은 말로 표현하기 힘들었습니다.채용 시장이 안 좋아서, 상반기 신입 채용도 없었네? 하면서 나름 위로를 삼고 그래도 하나라도 얻어가겠지 하고 끝까지 완주하고자 했습니다.학장님과의 면담에서도 나는 용기 있게 NHN 자사 채용 연계는 어떻게 되냐는 질문을 던졌고, "누가 그런 소리를 했냐" 부터 "이것은 배임에 해..
Map - EntrySet 사용 Map 사용하는 중에 EntrySet 은 떠오르는데 막상 사용할 방법을 몰라서 문제를 돌아서 푼 경험이 있다. https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 import java.util.*; class Solution { public int[] solution(String[] id_list, String[] report, int k) { HashMap reportedMap = new HashMap(); HashMap count =..
응답코드 ( HTTP response status code ) HTTP Status Codes1XX정보 전달: 요청을 받았고, 작업을 진행 중이라는 의미. 웹 소켓 쪽에서 사용함.2XX성공: 작업을 성공적으로 받았고, 이해했으며, 받아들여졌다는 의미.200 OK: 성공적으로 처리했을 때 사용. 가장 일반적으로 볼 수 있는 HTTP 상태.201 Created: 요청이 성공적으로 처리되어 리소스가 만들어졌음을 의미.202 Accepted: 요청이 받아들여졌지만 처리되지 않았음을 의미.203 Non-Authoritative Information: 응답받은 메타정보가 서버에 저장된 원본과 동일하지 않지만 로컬이나 다른 복사본에서 수집되었음을 알리는 응답 코드.204 No Content: 성공적으로 처리했지만 컨텐츠를 제공하지 않음을 의미.3XX리다이렉션 필요: 요청을 완료..
부대복귀 <JAVA> - Dijkstra https://school.programmers.co.kr/learn/courses/30/lessons/132266 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 전형적인 다익스트라 알고리즘 문제 Road 를 보고 양방향 연결그래프를 만들어 주고 destination 을 기준으로 다익스트라 알고리즘을 진행하면 쉽게 풀리는 문제다. 정답코드 import java.util.*; /* 그래프 양방향 연결 다익스트라 */ class Solution { static ArrayList graph; static int[] dist; static int MAX = ..