알고리즘 5

[백준] 7568번 덩치 - 브루트 포스(1) [JAVA]

https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 문제 문제 풀이 브루트포스 알고리즘(Brute Force Algorithm)이란? Brute Force 난폭한 힘을 의미한다. 모든 숫자를 다 넣어서 조합해 맞춰보는 알고리즘이다. 해당 문제의 경우, 한 사람의 키와 몸무게를 다른 모든 사람과 일일이 대조해보면 된다. 푼 방법 1) 키와 몸무게를 담을 배열을 만든다.(2차원 배열로 만들어도 되지만, 그냥 1차원 배열 두 개로 했다.) ..

백준 문제풀이 2022.10.04

2. Recursion(2)

인프런의 '영리한 프로그래밍을 위한 알고리즘 강좌' 내용 정리입니다. 순환적 알고리즘의 설계 적어도 하나의 base case, 순환되지 않고 종료되는 case가 반드시 있어야한다. 모든 case는 결국 base case로 수렴해야함. 암시적 매개변수를 명시적 매개변수로 바꾸어라. 다양한 예들 순차 탐색(sequential search) - recursion이 없는 버전 // data[0]에서 data[n-1] 사이에서 target을 검색하는 것. // 검색 구간의 시작 인덱스 0은 보통 생략(암시적 매개변수) int search(int [] data, int n, int target){ for(int i = 0 ; i < n ; i++){ if (data[i] == target) return i; ret..

알고리즘 공부 2022.09.16

2. Recursion(1)

인프런의 '영리한 프로그래밍을 위한 알고리즘 강좌' 내용 정리입니다. Recursion이란? 자기 자신을 호출하는 함수 ( 재귀 함수 ) pubilc class Code01 { public static void main(String [] args) { func(); } public static void func() { System.out.println("Hello..."); func();// 재귀 함수 } } 무한 루프에 빠지지 않는 재귀 함수 적어도 하나의 recursion에 빠지지 않는 경우를 만들면 된다. pubilc class Code01 { public static void main(String [] args) { int n = 4; func(n); } public static void func..

알고리즘 공부 2022.09.15

1. Insertion Sort 삽입 정렬(2) 프로그래머스 k번째수 [JS]

문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 3. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 #array의 길이는 1 이상 10..

알고리즘 공부 2022.09.02

1. Insertion Sort 삽입 정렬(1)

학교에서 들은 '알고리즘' 수업 정리입니다. 정렬 문제(Sorting Problem)란? Input : n개의 대소를 가지는 숫자, 혹은 sequence (a₁, a₂, a₃, ... , a𝘯) Output : 그러한 sequence의 순서를 바꾼 것 (a'₁, a'₂, a'₃, ... , a'𝘯) , permutation(reordering) (a₁ ≦ a₂ ≦ a₃ ≦ ... ≦ a𝘯) 주로 sequence는 배열에 저장되어 있고, aᵢ 는 key 이고 실제로는 각 key로 대표되는 satellite date가 있다. (예 > 학번(key) + 이름, 성적 등의 정보(satellite data)) Pseudo code Insertion-Sort(A) for j = 2 to A.length key = ..

알고리즘 공부 2022.09.01