본문 바로가기

Algorithm & Data structure2

[Data Structure] Stack(스택) 자료구조란? -Java Stack 자료구조란 무엇인가? - Java 1. 스택이란? - 'Stack'은 한쪽 방향에서만 자료를 넣고 빼는 형태의 자료구조이다 - LIFO(Last In First Out) - 선입후출 의 특징을 갖고 있으며, 제일 먼저 들어간 데이터는 제일 마지막에 꺼낼 수 있다는 의미를 가진다. - 이해하기 쉬운 예시로 -> '프링글스' 과자를 상상하면 쉬울 것이다. 제일 먼저 들어간 과자는 제일 마지막에 먹을 수 있게 되는 방식인 것이다. - Stack이 많이 사용되는 곳은 - DFS(깊이 우선 탐색)이다. 2. Java Stack 라이브러리 Mehtods push(object) : object를 Stack 에 삽입한다. pop() : stack에 있는 최상단 object를 삭제 하고 반환한다. peek().. 2023. 1. 16.
[Algorithm]최대공약수 & 최소공배수 - Java [알고리즘] 최대공약수 & 최소공배수 - Java 로 구현하기 많은 사람들이 코딩테스트 문제를 풀다보면 접하게 되는 최대공약수 & 최소공배수 구하기 이다. 학생 시절에 배웠던것이라 기억이 나는 사람도 나지 않는 사람도 있을것이다. 또한 알고 있더라도 코드로는 접근하기 어려울수 있기 때문에 한번은 공부해두면 좋을것 같다. 최대 공약수를 코드로 구현하는 방법은 2가지가 있다! (변형해서 사용가능) - 반복문 사용(for ,while) - 재귀함수 사용 최소 공배수를 코드로 구현하는 방법은 두 수 a,b 가 존재할때 a,b의 최대 공약수를 구한후 공식 : a * b / 최대공약수 해당 공식으로 구할 수 있다. (본 글에서는 예제를 위해 메서드로 구현) 유클리드 호제법 유클리드 호제법이란? 2개 수의 최대 공약.. 2022. 12. 11.