실습 과제
실습 문제1
스택이란 아래와 같은 구조이다.
그림으로 표현 하면 아래와 같다.
즉, 가장 최근에 스택에 추가한 항목이 가장 먼저 제거될 항목이다.
스택의 구현
•
pop()가장 최 상위에 위치한 자료를 추출한 후에 스택에서 제거한다
•
push(item)스택의 최 상위에 새로운 자료를 삽입한다
•
isEmpty()스택이 empty 상태인지 확인한다. 비어 있으면 true를 반환한다
•
clear()스택에 존재하는 모든 자료들을 삭제한다
•
peek()가장 최 상위에 위치한 자료를 추출한다pop 메소드와는 달리 스택에서 제거하지는 않는다.
실습 문제2
삽입 정렬의 전체적인 과정은 이렇다. (오름차순을 기준으로 설명)
public int[] solution(int n, int[] arr)
1.
현재 타겟이 되는 숫자와 이전 위치에 있는 원소들을 비교한다. (첫 번째 타겟은 두 번째 원소부터 시작한다.)
2.
타겟이 되는 숫자가 이전 위치에 있던 원소보다 작다면 위치를 서로 교환한다.
3.
그 다음 타겟을 찾아 위와 같은 방법으로 반복한다.