본문 바로가기

Stack2

[BOJ] 같은수로 만들기 2374, 13146 (분할정복, 스택) https://www.acmicpc.net/problem/2374 2374번: 같은 수로 만들기 n(1 ≤ n ≤ 1,000)개의 자연수 A[1], A[2], A[3], …, A[n]이 있다. 이 자연수에 Add(i)라는 연산을 하면, A[i]가 1만큼 증가한다. 이때, A[i]만 증가하는 것이 아니고, A[i]의 좌우로 인접한 같은 수의 그룹이 한 www.acmicpc.net 풀이 방법 : 분할정복 (재귀), 스택 ​ 분할정복을 이용한 방법은 O(N^2)까지 나올 수 있어서, 13146에서 시간초과가 납니다. 하지만 stack을 이용한 풀이로 하면 O(N)으로 해결할 수 있습니다. ​ 1. stack을 이용한 풀이 https://www.acmicpc.net/problem/13146 13146번: 같은 .. 2021. 9. 29.
[자료구조] 계산기 C코드 (괄호포함,스택) 오늘은 계산기를 해보곘습니다. 지금에서야 올리는 여러가지 이유가 있지만 ^^ 많이 방문해주세요 ^^ ​ 계산기에 없는 기능 : 2자리 이상 계산은 안됨( 사실 2탄으로 한번 더 빼먹으려고 참는중) 13/36은 안됨. but 기본 연산 됨 이런 느낌으로 보면 됩니다. ​ 아마 여기까지 찾아온거면 기본적인 중위표기식 -> 후위표기식 바꾸는건 다 알것이라고 생각합니다. stack은 C로 그냥 가볍게 구현하시면 됩니다. (나중에 포스팅해서 여기에 링크 걸 예정) ​ 구현의 핵심 1. infix -> postfix로 바꿔야함 2. 연산자 우선순위 고려해야함 ​ 구현 방법 1. 처음에 expression을 배열로 받는다 2. 연산자 스택, postfix 배열을 만든다 3. '숫자'면 postfix 배열로 바로 보낸.. 2021. 1. 7.
728x90