자바 277

퀵 정렬(quick sort)

- 기준점(pivot)을 정해서 기준점보다 작은 데이터는 왼쪽(left), 큰 데이터는 오른쪽(right)으로 모으는 함수를 작성. - 각 왼쪽(left), 오른쪽(right)은 재귀용법을 사용해서 다시 동일 함수를 호출하여 위 작업을 반복. - 함수는 왼쪽(left) + 기준점(pivot) + 오른쪽(right) 을 리턴함. ================================= index : 0 1 2 3 4 5 6 7 value : 49 97 53 5 33 65 62 51 ================================= pivot선택 : (index : 0, value : 49) p1 (1회) pivot - (index : 0, value : 49) [left] - (index :..

최솟값 만들기

1234567891011121314151617181920212223242526272829303132333435363738import java.util.Arrays; //자연수로 이루어진 길이가 같은 수열 A,B가 있습니다. //최솟값 만들기는 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱한 값을 누적하여 더합니다. //이러한 과정을 수열의 길이만큼 반복하여 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. //예를 들어 A = [1, 2] , B = [3, 4] 라면////A에서 1, B에서 4를 뽑아 곱하여 더합니다.//A에서 2, B에서 3을 뽑아 곱하여 더합니다.//수열의 길이만큼 반복하여 최솟값 10을 얻을 수 있으며, 이 10이 최솟값이 됩니다.//수열 A,B가 주어질 때, 최..

자바 행렬의 덧셈

//행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, //같은 열의 값을 서로 더한 결과가 됩니다. //2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요.//예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, //같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.//(어떠한 행렬에도 대응하는 함수를 완성해주세요.) A[i].length로 해주는 이유는 문제조건중 어떠한 행렬에도 대응하는 이라는 조건이다.즉 2행 2열의 기준으로만 보지말고 3행 3열일 경우도 생각해 봐야된다. 행렬의 덧셈조건은 같은 행렬값을 가져야하고 열의 길이의 경우 A[n].length이다.12345678..

자바 가운데 글자 가져오기

getMiddle메소드는 하나의 단어를 입력 받습니다. 단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요. 단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다. 예를들어 입력받은 단어가 power이라면 w를 반환하면 되고, 입력받은 단어가 test라면 es를 반환하면 됩니다. 123456789101112class StringExercise{ String getMiddle(String word){ int num = word.length(); if((num % 2) == 0) return word.substring(num/2-1, num/2+1); return word.substring(num/2, num/2+1); } // 아래는 테스트로 출력해 보기 위한 코드입니다..

자바 피보나치 수열

피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다. 123456789101112131415161718class Fibonacci { public long fibonacci(int num) { long temp, pre = 0, next = 1; for( int i =1; i

반응형