CS/알고리즘2 [재귀 알고리즘] 홀수 여부 확인 isOdd * Q) 수를 입력받아서 홀수인지 여부를 리턴한다 * 입력받는 num은 int 타입의 정수 * 출력은 boolean 타입을 리턴해야 한다 * 반복문, 나눗셈, 나머지 연산자는 금지 * 0은 짝수로 간주한다 ● 입출력 예시 int output = isOdd(17); system.out.println(output); // --> true output = isOdd(-8); system.out.println(output); // --> false ▶ 사고 과정 int 타입의 num을 입력을 받고 이 num을 반복문으로 돌릴 수도 없을 뿐더러 아주 간편한 나머지 연산자를 활용해서 짝홀 구분하는 코드도 쓸 수 없다 문제 해결에 있어서 여러 조건들이 필요한데 일단 문제에서 0은 짝수로 간주한다 했으니 i.. 2022. 6. 7. [알고리즘] 재귀(Recursion) 개념 이해 발상의 전환 해결해야할 문제가 있다 이 문제의 솔루션을 생각할 때 동일한 구조의 더 작은 문제로 분해해서, 그 작은 문제를 해결함으로써 전체 문제의 솔루션을 도출해낼 수 있는 방법을 재귀(recursion)이라고 한다 재귀 코드는 작게 분해해놨기 때문에 대부분 간결하고 이해하기 편하다는 장점이 있다 본격적으로 배우기 전에 문제 하나를 가져와서 생각을 해보자 Q1) 자연수로 이루어진 리스트(배열)을 입력받고, 리스트의 합을 리턴하는 메소드 'arrSum'을 작성하라 우선 메소드 정의부터 선언해줄 필요가 있다 public int arrSum(int[] arr) { } arrSum은 int 타입, arrSum은 int 타입의 arr 배열을 매개변수로 가질 것이다 public int arrSum(int[] ar.. 2022. 6. 6. 이전 1 다음