
그리디 알고리즘(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 -