본문 바로가기

전체 글117

23. 재귀호출 펙토리얼 public static void main(String[] args) { System.out.println("4: " + fact(4)); System.out.println("4: " + fact2(4)); } static int fact(int a){ if(a == 1) { return 1; }else { return a * fact(a - 1); } } static int fact2(int a){ int result = 1; for(int i = a; i >= 1; i--) { result = result *i; } return result; } 다음은 두가지 방법으로 4펙토리얼을 하는 방법인데 첫번째 방법같은경우 a가1이될때까지 else부분을 반복시켜주는건데 a-1인 이유는 펙토리얼이 한번 돌때마다.. 2023. 8. 2.
22. 재귀호출 재귀호출 간단하게 메서드 안에서 메서드를 부르는것이라고한다 public static void main(String[] args) { show(3); // 호출 } static void show(int cnt){ System.out.println("Hi~" + cnt); if(cnt == 1) { // cnt가 1이 될때까지 반복 return; } show(--cnt); } 재귀함수를 이용해 cnt가 1이 될때까지 반복한 후 메인 메서드로 간다 따라서 결과는 --cnt를 했기때문에 3에서 1까지 반복한 후 메인 메서드로 간 Hi~3 Hi~2 Hi~1 2023. 8. 2.
3. 최소 최대(10818번) 다음 문제는 배열을 n만큼 입력받으면 그 배열중 최소값과 최대값을 구하는 문제인데 최솟값과 최대값을 구하려면 max와 min을 각각 배열의 첫자리인 arr[0]으로 설정해두고 arr의 길이만큼 반복시켜 max는 arr[j]보다 작을시 max의값을 arr[j]로 바꾸어 계속 큰 값으로 바꾸게 하였고 min같은 경우는 반대로 조건을 주어서 min과 max값을 각각 구했음 2023. 8. 2.
2. X보다 작은 수(10871번) 앞의 배열 1번 문제와 중간까지는 같지만 이문제는 특정 V의 개수를 새는것이아니라 특정 x값 이하의 값만 출력되게 하는 프로그램이다 마지막 조건문을 보면 x가 arr[i]보다 크다면 즉 arr[0] arr[1] 이런식으로 하나하나 대조를 하여 x보다 작은값만 출력되게 하는 문제이다 2023. 8. 2.