Dev/Algorithm 15

1D1A - One Day One Algorithm

문제 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환해주는 gcdlcm 함수를 완성해 보세요. 배열의 맨 앞에 최대공약수, 그 다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 gcdlcm(3,12) 가 입력되면, [3, 12]를 반환해주면 됩니다. 기본제공import java.util.Arrays; class TryHelloWorld { public int[] gcdlcm(int a, int b) { int[] answer = new int[2]; return answer; } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String[] args) { TryHelloWorld c = new TryHelloWorld(..

Dev/Algorithm 2018.03.19

CS50 공부 - 알고리즘

의사코드는 프로그래밍언어보다 문법적 제약을 적게 받는 알고리즘 표현 방법이다. 선형탐색(순차탐색)은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 탐색한다.1. 정확하지만 아주 효율적이지 못한 방법이다.2. 자료가 정렬되어 있지 않거나 그 어떤 정보도 없어 하나씩 찾아야 하는 경우에 유용하다. 이진탐색은 정렬된 데이터를 좌우 둘로 나워서 원하는 값의 탐색 범위를 좁혀가며 찾는 방법이다.추가 포스팅1. CS50 알고리즘 - 버블정렬, 선택정렬, 삽입정렬(링크)

Dev/Algorithm 2018.03.19

1D1A - One Day One Algorithm

문제 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요.예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.) 제출 답안class SumMatrix {int[][] sumMatrix(int[][] A, int[][] B) {int[][] answer = new int[A.length][A[0].length]; for (int i = 0; i < answer.length; ..

Dev/Algorithm 2018.03.14

10진수를 2진수로 - 입력값을 진법수에 맞게 출력

입력받은 숫자를 원하는 진법의 수로 변환 * Language : Java int input = 133; // 입력값int number = 2; // 진수int temp = 0;int divide = input; List numberList = new ArrayList(); while (divide != 0) { temp = divide % number; numberList.add(temp); divide = (divide - temp)/number;} List reverseNumberList = new ArrayList();for (int i = numberList.size(); i>0; i--) { reverseNumberList.add(numberList.get(i-1));}

Dev/Algorithm 2018.03.07