반응형

structure

    Deque를 직접 구현해보기

    큐는 삽입과 삭제가 리스트의 한쪽 방향에서만 이루어지지만 deque는 리스트의 양쪽 끝 모두에서 이루어질 수 있다. 따라서 양쪽 방향 모두 삽입과 삭제가 이루어질 수 있으므로 기존의 큐나 스택으로 사용할 수 있어 유연하게 사용할 수 있다. 사진출처 : https://dh00023.github.io/algorithm/ds/2018/04/25/algorithm-10/ 이런 Deque를 직접 구현해 보자. 우선 Deque의 기능을 정리한 인터페이스이다.1234567891011121314151617181920212223package practice3; public interface Deque { public void addFirst(T item); public void addLast(T item); public..

    Stack을 이용한 문장 완성도 판별 프로그램

    개발을 진행하다보면 기본에 대해 잊어갈때가 있다. 잊지 않기위해 오늘 부터 매주 하나씩 자료구조를 이용한 문제를 풀어봐야겠다. 오늘은 Stack 첫번째 시간으로 문장의 완성도를 확인하는 프로그램을 작성하여 보자. [제약사항] - {[(에 대한 괄호들이 정상적으로 닫혀있어야 한다. - 주석 //, /* 안에 포함된 내용은 무시한다. - "" double quote에 들어있는 내용을 무시한다. 간단한 프로그램이라 설명은 생략한다. - Text를 읽고 판별을 진행하는 Main 클래스 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686..

    Stack - 후위 표기법으로 된 식 계산

    1 3 + 4 * 와 같이 후위 표기되어있는 식을 계산하는 프로그램을 stack을 이용해서 만들어라 주의사항 - 피연산자가 너무 많으면 오류를 발생시켜라. - 피연산자가 적어도 오류를 발생시켜라 - 연산자가 사칙연산 이외의 것이 나오면 예외를 발생시켜라 - 결과는 소수점 둘째까지 반올림해서 표현하라. - 예외는 이 프로그램을 위한 예외를 새로 만들어라 구성 - 파일을 읽는 메서드가 담긴 util 클래스 - 동작이 진행되는 Main 클래스 - 이 프로그램의 예외 OperatorException 클래스 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626..

반응형