본문 바로가기
반응형

알고리즘10

[알고리즘] Java 팩토리얼(factorial) 구하기. (for문, 재귀함수) 팩토리얼의 구조를 살펴보자 정수: 5가 입력이 되었을 때, 5*4*3*2*1이된다. 즉 답은 120이 나오게 된다. 정수: 459가 입력이 되었을 때는 459*458*457*....1이 답이 된다. 그럼 N이 입력 되었을때, N*(N-1)*(N-2)...로 가서 (N-1)=1이 될때까지 반복을 하게 될것이다. 이것을 해결하기 위해 하나하나 해보도록 하겠다. 1. 첫번째 조건 : 숫자를 입력받는다. c같은 경우는 scanf(); java같은 경우는 sc.nextInt(); 를 통해 받게 될것이다. ※앞으로의 설명은 Java로 풀이 할것이다. 입력을 받아야 하기 때문에 Scanner를 사용해야한다. import java.util.*; //보통 java.util.Scanner;를 쓰지만 *는 모든것을 사용하겠.. 2021. 4. 27.
[자료구조 /알고리즘] Linked List란? Linked List는 컴퓨터에 자료를 저장하는 구조의 종류중 하나이다. 생긴모양은 배열과 비슷하게 생겼다. 배열과의 가장큰 차이는 배열은 미리 공간을 정해야한다. 무슨 뜻인가 하면, 내가 어떤 크기의 데이터를 저장할지 미리 선언을 해줘야한다. 하지만 Linked List(연결 리스트)의 경우에는 그럴 필요가 없다. 위의 그림을 보면 15|3600 을 풀어보면 해당 노드는 15라는 숫자를 가지고있고, 그다음 숫자는 3600번지에 담겨있다. 라는 의미가 된다. 3600번지를 가보면 3|4000 이 담겨있는데, 3이라는 숫자를 가지고있고, 다음 숫자는 4000번지에 담겨있다는 뜻이다. 이처럼 중간에 삽입, 삭제를 할수있다는 장점이있다. 단점으로는 삽입,삭제시 다음 노드와 이전 노드의 주소를 담아줘야한다. 1.. 2021. 4. 22.
반응형