본문 바로가기

전체 글

(86)
백준 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 (무시) 세 개의 결과를 가진다. 라..
네트워크 대역폭 제어 QoS Traffic Policing, 1R2C, 1R3C, 2R3C with Token Bucket 참고자료QoS Modular QoS Command-Line Interface Configuration Guide, Cisco IOS XE Fuji 16.7 - QoS Packet Policing [Cisco ASR 1000 Series Aggregation Services Routers] - Cisco[Network Protocols] 대역폭 제어: Traffic Policing : 네이버 블로그대역폭 제어: Traffic Policing | NETMANIAS 1R2COne-Rate Two-Color, Single-Rate Two-Color한 개의 속도 제한을 기준으로 패킷을 두 개의 색상으로 분류. CIR: Committed Information Rate. 약속된 전송 속도. 네트워크의 보장된 대역폭패..
Rate Limit, Leaky Bucket, Token Bucket Algorith 출처: https://etloveguitar.tistory.com/128Rate Limit Rate Limit: 일정 시간 내 클라이언트가 할 수 있는 요청의 수, 정책ex) 1분당 60회의 임계치, 60회 넘어가면 에러 리턴필요성: 안정성, 신뢰성, 가용성, 보안, 운영 비용 관리, 공정성(서버 자원 독점 방지), 과금 BMThrottling: 임계치를 넘어서 에러를 리턴Throttling의 구현 방식Hard Throttling: 엄격한 관리Soft Throttling: 특정 %까지 허용 (ex. 10%일 때 rate limit 100회이면 110회까지 허용)Elastic or Dynamic Throttling: 리소스의 여유에 따라 rate limit 넘긴 요청 허용Rate Limit의 요구 조건: ..
백준 17413번 단어 뒤집기 2 https://www.acmicpc.net/problem/17413 아이디어:1. 문장의 각 문자에 대해 검사한다.2. 문자가 '3. 문자가 ''가 나올 때 까지 그대로 출력하며 반복자를 증가시킨다.4. 문자가 ' '인 경우, 스택을 모두 비우고 출력한 뒤 공백을 출력한다.5. 둘 다 아닐 경우, 스택에 문자를 넣는다.6. 반복문이 종료된 후, 스택을 비운다.#include #include using namespace std;void emptyStack(stack &s);// Answer Codeint main(){ stack stack; string str; getline(cin, str); for (int i = 0;i ') break; ..