
그리디 알고리즘(Greedy Algorithm)은현재 상황에서 가장 최선이라고 생각되는 선택을 반복하는 알고리즘이다.즉, 미래를 미리 고려하기보다“지금 당장 가장 좋은 선택”을 계속 고르는 방식이다.대표적으로는 다음과 같은 상황에서 사용된다.동전 거스름돈 문제회의실 배

알고리즘: 그리디 알고리즘문제 링크: 프로그래머스 - 체육복int\[] clothes = new int\[n+2]; → n+2를 함으로써 배열을 1부터 시작하게 한다 & 배열 범위 초과 에러를 방지한다.for문 + if문을 통해 앞/뒤 학생에게 빌릴 수 있다.

알고리즘: 그리디 알고리즘문제 링크: 프로그래머스 - 조이스틱핵심코드위/아래 조작(알파뱃 조작)Math.min(c-'A', 'Z'-c+1)c - 'A': 위로 이동 (A → B 방향)'Z' - c + 1: 아래로 이동 (A → Z 방향)while문의 역할: 연속된 A

알고리즘: 그리디 알고리즘문제 링크: 프로그래머스 - 구명보트문제 핵심: 가장 무거운 사람 기준으로 생각하기.투포인터를 이용해 턴 마다 가장 무거운 사람을 무조건 태워 보내야 한다는 개념으로 코드 설계

구현 알고리즘은 머릿속에 있는 문제 해결 과정을 코드로 정확하게 표현하는 문제 유형이다. 그래서 논리적으로는 이해가 가지만 코드로 작성하게 되면 길어지는 경우가 있다.즉, 복잡한 아이디어보다는 조건에 맞게 하나씩 그대로 작성하는 능력이 중요하다.대표적으로는 다음과 같은

알고리즘: 구현 알고리즘문제 링크: 프로그래머스 - 실패율문제 핵심: HashMap을 이용해 stage 마다 실패율 저장.현재 스테이지에 머물러 있는 사람 수(count)를 이용해 실패율 계산.스테이지를 순회하면서 이전 스테이지 실패 인원을 제외하기 위해 users -

알고리즘: 구현 알고리즘문제 링크: \[프로그래머스 - \[카카오 인턴] 키패드 누르기]문제 핵심: 함수를 따로 만들어 left/right 키패드 분리거리 계산은 (절대값 / 3 ) + (절대값 % 3)이때 절대값은 '왼쪽, 오른쪽 손가락 위치 - 타겟 위치'역시 구현

알고리즘: 구현 알고리즘문제 링크: 신규 아이디 추천문제 핵심: 자바의 여러가지 함수가 필요함.문제 자체의 난이도는 높지 않았지만, 평소에 자주 사용하지 않던 문자열 관련 함수와 정규식을 알고 있어야 수월하게 해결할 수 있었다. 특히 replaceAll(), subst

① DFS(Depth-First Search, 깊이우선탐색)는 시작 노드에서 한 방향의 끝까지 탐색 후, 다시 되돌아와 다른 경로를 탐색하는 방식이다.그래서 다시 돌아오는 형질이 있기 때문에 '스택(Stack)' 자료구조나 '재귀 함수'를 사용해야 한다. 완전 탐색과같

💻 오늘의 문제 알고리즘: DFS/BFS 문제 링크: 타겟 넘버 풀이 과정 문제 핵심: DFS는 재귀,깊게 끝까지 파고 넘어가는 걸 이해하기. BFS는 Queue로, 순차적으로 넓게 진행 된다는 걸 이해하기. 📌 느낀 점 DFS/BFS 패턴의 감을 익힌다면