본문 바로가기

분류 전체보기

(89)
백준 6198번 옥상 정원 꾸미기 - 모노톤 스택 https://www.acmicpc.net/problem/6198 https://www.acmicpc.net/problem/17298의 하위호환 아이디어:1. 모노톤 스택 사용스택에는 2가지 문제 유형이 있는데, 첫번째는 괄호 지우는 것처럼 자연스러운 패턴을 찾는 것2번째는 6198번과 모노톤 스택처럼 스택 내부의 정렬(?)이다.https://www.youtube.com/watch?v=Z4R582bn7B82. 목표는 빌딩을 볼 수 있는 횟수의 총합3. 스택의 입력은 빌딩의 높이인데, 이걸 내림차순으로 정렬해서 더 낮은 값이 있으면 pop하는 로직이 필요하다.4. 첫 빌딩 높이는 그냥 push5. 다음 들어오는 빌딩부터만약, 스택 top이 입력 빌딩보다 작으면 pop하고 크거나 같으면 정답에 더한 뒤, 스..
백준 2504번 괄호의 값 https://www.acmicpc.net/problem/2504 풀이 참조: [백준 BOJ / C++] 2504번: 괄호의 값 아이디어:1. 스택과 이전 글자 사용2. 최종 결과 ans(초기값 0)와 중간 계산값 tmp (초기값 1) 사용3. 분배 법칙 활용X(A+B) = AX + BX4. 들어오는 ( 에 대해 미리 2를 곱하고5. 들어오는 ) 에 대해5-1. 스택이 비었거나 이전 문자가 ( 가 아니라면0 출력하며 종료5-2. 이전 문자가 ( 이면ans에 tmp를 더하고 tmp는 2로 나누기5-3. 이전 문자가 ( 이 아니면tmp를 2로 나누기6. [ 와 ] 도 똑같이 적용 ) 와 ] 에서만 계산하는게 아니라( 와 [ 에서도 곱셈을 해주면서 ) 와 ]에서 tmp를 더하고 나눗셈으로 tmp를 풀어주는 과..
백준 2493번 탑 아이디어:1. 높이와 위치(인덱스)를 기록하는 스택을 두 개 사용2. 입력된 높이와 스택 top의 비교를 통해 스택의 내림차순 유지 #include #include using namespace std;// Answer Codeint main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N, tmp; stack> S; cin >> N; S.push({ 100000001, 0 }); for (int i = 1; i > tmp; while (tmp > S.top().first) S.pop(); cout  1. pair를 담는 스택 사용2. 스택에 {100000001, 0}을 담아 스택의 빈 경우 배제3. 들어온 입력에 대해 스택 top 보다 작..
백준 10799번 쇠막대기 https://www.acmicpc.net/problem/10799 아이디어:1. 어떤 괄호가 레이저인지 구분하는 것이 중요하다.2. 레이저가 나오기 전 '('의 개수를 기록해놓는다.3. 레이저가 나온다면 전 '('의 개수만큼 더한다.4. 레이저가 아닌 ')'가 나온다면 쇠막대기의 마지막 부분으로 1을 더한다. #include #include using namespace std;int main() { int cnt = 0, ans = 0, ch, pch; while ((ch = getchar()) != '\n') { if (ch == '(') cnt++; else cnt--, ans += pch == '(' ? cnt : 1; pch = ch; } printf("%d", ans);} 정답해는 스택을..
스위치 ASIC, CAM, TCAM, VMR ASICApplication Specific Integrated Circuit특정 목적을 위해 설계된 직접 회로. 주문형 반도체. 스위치는 초고속 패킷 처리를 위해 라우팅 테이블, 스위칭 테이블, ACL, QoS 테이블 등을 ASIC HW에 저장한다. CAMContent Addressable Memory일반적인 RAM은 OS가 메모리 주소로 데이터를 찾는다. CAM은 데이터로 주소를 찾는다. 한 번의 연산으로 전체 메모리를 탐색한다. CAM 테이블은 0과 1 두 개의 결과를 가진다. L2 MAC 주소 테이블에 주로 사용된다. TCAMTernary Content Addressable MemoryTCAM은 빠른 테이블 조회를 위해 설계된 특수한 CAM이다. 0, 1, X (무시) 세 개의 결과를 가진다. 라..