목록분류 전체보기 (94)
밍쎄의 코딩공간

문득 공부가 하기 싫어질 때, 나는 어떤 것의 한 가지에 집중하게 된다. 하루는 제로베이스 홈페이지에 있는 모든 버튼을 다 눌러봤다. (항상 하는 엄청난 뻘짓) 거기서 "클린 코드" 라는 책을 접하게 되었다. 항상 책이면 에세이만 읽는 나에게는 에세이가 아닌 개발 서적에 어려움을 겪는다고 느꼈는데, 인생도 코딩처럼 내가 인생이란 판을 구축을 하니 낯설긴 커녕,, 술술 익힌다.. https://zero-base.co.kr/event/media_review_1book_cleancode 한달한권 수강후기 | “『클린코드』 언젠가 읽어볼까 싶었다면, ‘한달한권’으로 도전해보세 기술서적을 읽을 때의 어려움, 한달한권으로 극복한 수강후기입니다. zero-base.co.kr 요즘 내가 코딩하는 자세는 "모 아니면 도..
깊이 우선 탐색(DFS, Depth-First Search)은 그래프를 탐색하는 알고리즘 중 하나로, 한 경로를 따라 최대한 깊이까지 탐색한 후, 다음 경로로 이동하는 방식이다. DFS는 스택(Stack)이나 재귀(Recursion)를 사용하여 구현할 수 있다. 주로 그래프의 탐색, 경로 찾기, 연결 요소 확인 등에 활용된다. DFS의 작동 방식 출발 노드 선택: 시작 노드를 선택하고, 해당 노드를 방문한 것으로 표시한다. 인접한 미방문 노드 탐색: 선택한 노드의 인접한 미방문 노드 중 하나를 선택한다. 선택한 노드로 이동: 선택한 노드로 이동하여 그 노드를 방문한 것으로 표시한다. 이동한 노드의 인접 미방문 노드 탐색: 이동한 노드의 인접한 미방문 노드 중 하나를 선택하여 이동한다. 반복: 이동한 노드..
자바에서의 그리디(Greedy) 알고리즘은 최적해를 찾는 문제를 해결하기 위한 한 가지 접근 방법이다. 그리디 알고리즘은 각 단계에서 가장 최선의 선택을 하여 전체 문제의 최적해를 찾아내는 방식으로 작동한다. 그리디 알고리즘의 일반적인 구현 단계 문제 이해 및 모델링: 문제를 잘 이해하고, 최적해를 찾기 위한 그리디 전략을 정의한다. 탐욕 선택 기준 정의: 각 단계에서 가장 좋은 선택을 어떤 기준으로 판단할 것인지 정의한다. 이 선택 기준은 문제의 특성에 따라 다를 수 있다. 탐욕적 선택 수행: 정의한 선택 기준에 따라 각 단계에서 최선의 선택을 수행한다. 유효성 검사 및 해 검증: 선택한 해가 문제의 조건을 만족하는지 검사하고, 전체 해가 올바른지 검증한다. 밑 예제는 거스름돈을 줄 때 가장 적은 동전..
import java.util.HashSet; class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; HashSet resSet = new HashSet(); HashSet loSet = new HashSet(); for(int i: reserve) { resSet.add(i); } for(int i: lost) { if(resSet.contains(i)) { resSet.remove(i); } else { loSet.add(i); } } for(int i: resSet) { if(loSet.contains(i-1)) { loSet.remove(i - 1); } else if(loSet.contains..
https://d2.naver.com/helloworld/645609
1차원 배열 (One-Dimensional Arrays): 1차원 배열은 값들의 선형 컬렉션으로, 모든 요소는 동일한 유형의 데이터를 가집니다. 배열의 각 요소는 0부터 시작하는 인덱스로 접근할 수 있습니다. 배열의 크기는 생성할 때 결정되며, 크기를 변경할 수 없습니다. // 1차원 배열 선언과 초기화 int[] numbers = new int[5]; // 5개의 정수 요소를 갖는 배열 생성 numbers[0] = 10; // 첫 번째 요소에 값 할당 numbers[1] = 20; numbers[2] = 30; numbers[3] = 40; numbers[4] = 50; // 또는 배열 선언과 초기화를 한 줄로 처리 int[] numbers = {10, 20, 30, 40, 50}; // 배열 요소에 ..