문제 출처사용 언어:Java구상익은 토마토의 상하좌우에 있는 안 익은 토마토들은 영향을 받아 익음 → 익은 토마토의 상하좌우를 확인하여 안 익은 토마토가 있다면 익은 토마토로 표시 → 따로 방문 표시를 하지 않고 밭에 걸린 날짜값 기록→ 밭을 탐색하면서 날짜값의 최대로
문제 출처사용 언어: Java구상현재 위치에서 상하좌우로 움직였을 때의 숫자를 확인하여 그 중 가장 작은 숫자를 택하기무한으로 움직이는지 확인하기 위해 방문 여부 기록 (visited 배열)→ 무한으로 움직인다면 게임을 그 자리에서 종료시키고 -1 출력DP 알고리즘을
문제 링크사용 언어: Java구상오른쪽 위, 오른쪽, 오른쪽 아래 순으로 탐색마지막 열에 도착하면 종료현재 위치가 가능한지 확인하고 가능하다면 각 방향이 가능한지 재귀호출→ 오른쪽 위의 경우, 행 번호가 0보다 커야 가능하다.→ 오른쪽 아래의 겨우, 오른쪽 아래로 갔을
문제 출처사용 언어: Java구상입력받는 노드 번호, 왼쪽 자식, 오른쪽 자식을 저장→ Node 클래스를 만들어 노드 번호, 왼쪽 자식, 오른쪽 자식, 부모 노드 번호를 저장배열을 확인하면 중위순회 순서 (왼쪽 > 루트 > 오른쪽)로 열 번호가 설정되어 있음.level
문제 출처사용 언어: Java구상알고리즘 및 코드 참고꽃의 피는 날과 지는 날을 저장하는 Flower 클래스를 생성→ 피는 날이 적은 순으로, 늦게 지는 순으로 정렬할 수 있도록 정렬 기준 오버라이딩하기월, 일은 MMDD로 변환하여 저장하기(ex. 3월 1일 → 30
문제 출처사용 언어: Java구상서류 순위를 오름차순으로 정렬→ 기준을 정한 후, 1 ~ 기준 전까지의 면접 순위를 비교하여 기준이 합격할 수 있는지 판단(지원자 + 1) 크기의 배열을 만들어 서류 순위대로 면접 순위를 입력알고리즘 참고기준을 정하고 배열에 있는 면접
문제 출처사용 언어: Java구상입력받은 알파벳마다의 개수를 기록→ 팰린드롬이 되려면 0 or 짝수개를 가져야 하거나 홀수개의 알파벳은 0 or 1개만 가능→ 알파벳은 26개이므로 크기가 26인 배열을 만들고 아스키 코드를 이용하여 알파벳 분류팰린드롬 결과를 저장하는
문제 출처구상출발지, 도착지, 점수를 저장하는 배열 만들기출발지 → 도착지의 점수의 최대값을 저장하는 배열 만들기입력하는 점수 값과 전 최대값 + 점수값을 비교하여 최대 값을 저장 → 메모리 초과 오류 발생도시 번호와 이동 횟수를 이용하여 다음 도시로 이동하였을 때 최
문제 출처구상문제 이해부터 좀 힘들었음 → 문제 이해 참고 링크누적 합을 저장하는 배열 & 해당 위치를 탐색했는지 기록하는 배열 만들기구간의 최대 합을 저장하는 배열 만들기현재 위치 값을 구간에 넣지 않는다면 전 실행에서의 구간 최대 합을 저장현재 위치 값을 구간에 넣
문제 출처구상물건의 무게와 가치를 저장하는 2차원 배열 만들기물건의 경우의 수, 1 ~ 버틸 수 있는 무게까지의 최대 가치를 저장하는 2차원 배열 만들기물건의 무게가 수용 범위보다 무겁다면 전 물건의 최대 가치를 대입그렇지 않다면 전 물건의 최대 가치와 (수용 범위 -
문제 출처사용 언어: Java구상LIS 알고리즘 이용.상하좌우를 관리하는 배열 생성.현재 위치에서 상하좌우의 LIS를 구하고 최종적으로 최대값을 구하기. 구현\- 기존의 LIS 알고리즘을 변형하여 이용.\- 현재 위치에서 상하좌우로 이동한 좌표를 이용하여 현재값보다
문제 출처구상수열을 저장하는 배열 만들기길이를 저장하는 배열 만들기현재 값보다 바로 전 값이 작으면 현재 값의 위치의 길이와 재귀호출을 한 전 값 + 1 중 큰 값을 길이 배열에 저장 (LIS 알고리즘)구현코드 및 알고리즘 참고 링크 \- LIS 알고리즘 이용.\- 전
문제 출처구상동전의 가치를 1차원 배열에 저장 1 ~ 가치의 합까지 경우의 수를 1차원 배열에 저장알고리즘 출처구현\- (총액 + 1) 크기의 배열을 만들어서 경우의 수를 저장해서 이용.\- 입력받은 가치로 만들 수 있는 경우의 수를 1 ~ 총액까지 계산.\- 경우의
문제 출처사용 언어: Java구상시작 위치와 정방행렬의 크기를 제시하고 숫자 검사각 수마다 개수를 세는 변수를 선언하고 같은 수로만 채워져 있는 경우에 개수 더하기구현코드 참고\- 2차원 배열로 정방행렬 입력받고 저장\- 시작 위치와 행렬의 크기를 입력으로 받고 같은
문제 출처사용 언어: Java구상줄마다 별의 규칙 찾기 → 줄마다 공백의 수와 별과 별사이의 공백이 다르므로 다른 규칙 이용배열을 생성하여 별의 구성을 저장한 후, 재귀호출 이용하기→ 중복되는 별 모양을 이용구현코드 참고\- 반복되는 별 모양을 미리 배열에 저장하고 재
문제 출처사용 언어: Java구상재귀를 이용하여 피보나치 계산 구현계산한 피보나치 수 값을 배열에 저장 → 추후에 재사용2차원 배열을 이용하여 피보나치 행렬 구현 행렬 참고 링크구현코드 참고\- Scanner와 동일한 기능이나 속도가 더 빠른 BufferedReader
→ 문제를 작은 문제로 분할하여 푼 후, 다시 합쳐서 해결하는 방법.→ 퀵 정렬(quick-sort), 합병 정렬(merge-sort)퀵 정렬, 합병 정렬 정리본일반적으로 재귀함수를 이용하여 구현→ 잦은 분할로 인한 호출로 인해 많은 시간이 소모됨.큐(Queue), 스