이코테

알고리즘

[이코테] Chapter 7. 이진탐색 (java)

📍개념 1. 순차탐색 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법 리스트가 정렬되어 있지 않을 때 사용 O(N) public static int sequantialSearch(int n, String target, String[] arr) { for (int i = 0; i < n; i++) { if (arr[i].equals(target)) return i + 1; } return -1; } 2. 이진탐색 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교하여 데이터 찾는 방법 데이터가 이미 정렬돼 있을 때 사용 O(logN) 1. 재귀함수로 구현한 결과 public static int binarySearch(int[] arr, int tar..

알고리즘

[이코테] Chapter 6. 정렬 (java)

📍개념 1. 선택 정렬 처리되지 않은 데이터 중 가장 작은 데이터와 가장 앞 데이터를 교환하며 정렬하는 알고리즘. O(N^2) public class Main { public static void main(String[] args) { int n = 10; int[] arr = { 7, 5, 9, 0, 3, 1, 6, 2, 4, 8 }; for (int i = 0; i arr[j]) { min_idx = j; } } // 가장 앞 데이터와 가장 작은 데이터 위치 교환 int temp = arr[i]; arr[i] = arr[min_idx]; arr[min_id..

알고리즘

[이코테] Chapter 5. DFS, BFS (java)

📍개념 1. DFS 깊이 우선 탐색. 그래프의 깊은 부분을 우선적으로 탐색한다. 스택 or 재귀함수를 이용하여 구현. 시작 노드 push, 방문 처리 최상단 노드에 방문하지 않은 노드가 있다면 push, 방문 처리. 방문하지 않은 노드가 없다면 pop 불가능할 때까지 2,3 반복 그래프가 위와 같고, 시작 노드가 1인 경우 탐색 순서: 1 2 7 6 8 3 4 5 import java.util.*; public class Main { public static boolean[] visited = new boolean[9]; public static ArrayList graph = new ArrayList(); public static void main(String[] args) { for (int i = ..

알고리즘

[이코테] chapter 04. 구현 (java)

📖 [예제 4-1] 상하좌우 더보기 상하좌우 문제 (교재 110p) 난이도 ●○○ | 풀이 시간 15분 | 시간 제한 1초 | 메모리 제한 128MB 문제 아래와 같은 계획서가 주어졌을 때 여행가 A가 최종적으로 도착할 지점의 좌표를 출력하는 프로그램을 작성하시오. L : 왼쪽으로 한 칸 이동 R : 오른쪽으로 한 칸 이동 U : 위로 한 칸 이동 D : 아래로 한 칸 이동 가장 왼쪽 위 좌표는 (1,1) 이며, 시작 좌표는 항상 (1,1)이다. 입출력 조건) 입력 조건 - 첫째 줄에 공간의 크기를 나타내는 N이 주어진다. (1 ≤ N ≤ 100) - 둘째 줄에 여행가 A가 이동할 계획서 내용이 주어진다. (1 ≤ 이동 횟수 ≤ 100) 출력 조건 첫째 줄에 여행가 A가 최종적으로 도착할 지점의 좌표 (..

알고리즘

[이코테] Chapter 03. 그리디 (java)

📖 [예제 3-1] 거스름돈 💡내가 짠 코드 public int solution(int N) { int answer = 0; while (N - 500 >= 0) { N -= 500; answer++; } while (N - 100 >= 0) { N -= 100; answer++; } while (N - 50 >= 0) { N -= 50; answer++; } while (N - 10 >= 0) { N -= 10; answer++; } return answer; } ✅ 답안 본 후 다시 짠 코드 public int solution(int N) { int answer = 0; int[] coins = { 500, 100, 50, 10 }; for (int coin : coins) { answer += (N..

eunjinee
'이코테' 태그의 글 목록