728x90
728x90
[백준 1918번 Java] 후위 표기식 - Stack
코딩테스트/백준2024. 6. 18. 22:12[백준 1918번 Java] 후위 표기식 - Stack

문제 난이도GOLD II (문제 링크)  풀이사칙연산에서의 연산 우선순위의 특징과 스택을 활용해서 풀 수 있다. 다들 알겠지만 리마인드하고 넘어가자면,1. 곱셈과 나눗셈은, 덧셈과 뺄셈보다 우선으로 연산된다.2. 괄호가 존재할 경우, 가장 먼저 처리된다.3. 우선순위가 같을 경우, 좌결합성의 특성에 따라 왼쪽의 수식을 우선처리한다.   또한 문제의 예제와, 그림표기된 것을 보고도 방법을 캐치할 수 있는데,   사칙 연산의 우선순위 특징을 리마인드했고, 어떻게 문제를 풀어나가야할지 통해 정리해볼 수 있다. 연산은 선출력하는 것이 아니라, 이전 연산자가 존재할 경우, 이전 연산과의 우선순위를 판별해서 출력 여부를 결정해야한다.괄호는 우선 연산이 되기때문에, 괄호 시작 부분을 만났을 경우에, 괄호가 끝나는 시..

[자료구조] 해시테이블 (hashtable)
CS/자료구조2023. 5. 29. 06:29[자료구조] 해시테이블 (hashtable)

해시테이블 (hashtable) Key, Value 로 데이터를 저장하는 자료구조 중 하나이며 데이터를 빠르게 검색할 수 있는 자료구조이다. 빠른 검색을 할 수 있는 이유는 내부적으로 버킷(배열)을 사용하여 데이터를 저장하기 때문이다. 해시 테이블은 각각의 Key값에 해시함수를 적용해 배열의 고유한 index를 생성하고, 이 index를 활용해 값을 저장하거나 검색하게 된다. 여기서 실제 값이 저장되는 장소를 버킷 또는 슬롯이라고 한다. (Key, Value)가 ("Becca", "+1 424 999 0000")인 데이터를 해시 테이블에 저장한다고 할 때, index = hash_function("Becca") % Index을 통해 Index값을 계산한 뒤, array[Index] = "+1 424 99..

[자료구조] 트리(Tree) 구조
CS/자료구조2023. 1. 17. 19:32[자료구조] 트리(Tree) 구조

트리구조란? 한 노드에서 시작해서 다른 정점들을 순회하여 자기 자신에게 돌아오는 순환이 없는 연결그래프이다. 회사의 조직도 내 컴퓨터\C:\Program Files\..... 트리 용어 용어 설명 루트(root) 노드 맨 위에 위치한 노드이며, 부모노드 라고 함 리프(leaf) 노드 자식이 없는 최하단 노드, 단말(terminal) 노드 라고도 함 내부(internal) 노드 리프노드가 아닌 노드, 가지(branch) 노드 라고도 함 간선/엣지/링크/브랜치 노드들끼리의 연결선 노드의 차수 한 노드가 가진 서브트리의 차수 트리의 차수 트리노드들의 차수 중 최대차수 서브트리(sub-tree) 트리에서 어떤 한 노드와 그 노드의 자손들로 이루어진 트리 레벨(level) 0이나 1부터 시작하며 높이를 정의함 높..

728x90
728x90
image