전체 글

전체 글

    [백준][C++] 요세푸스 문제 0

    https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 큐를 이용하는 문제 비슷한 문제 계속 풀다보니 감이 잡혀서 쉽게 풀었다. 먼저 큐에 1부터 n까지의 숫자를 저장해둔 후, k-1번째 숫자까지 뒤로 push한 뒤 pop한다. 그런 뒤에 가장 앞에 오는 숫자가 k번째 숫자이므로 우리가 원하는 수열의 숫자가 된다. 따라서 따로 벡터나 배열에 옮겨담은 후 pop한다. 이 과정을 큐가 빌 때까지 반복 #include #include int main() { std::queue que; std::vector vec; int n, k; std:..

    [백준][C++] 1874 스택 수열

    https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 역시 스택을 사용하는 문제인데 처음에 딱 문제를 봤을 땐 어떻게 코드를 짜야할지 모르겠어서 좀 당황했다 풀고나서 다시 보면 쉽지만... 처음 풀 땐 내가 이 정도로 빡대가리였나 좀 고민할뻔 함 #include #include #include int main() { std::stack stack; std::vector..

    [백준][C++] 4949 균형잡힌 세상

    https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 스택을 활용하는 문제 #include #include #include int main() { std::string str; std::stack stack; while (1) { std::getline(std::cin, str, '.'); //.을 만날 때까지 받아오기 std::cin.get(); //개행문자 지우기 str.append(1, '.'); if (str[0] == ..

    [C++] 사칙연산 스택 계산기

    스택을 사용해 후위 표기법으로 변환하여 실수의 사칙연산을 계산 ---- 지원 기능 ---- 1. 괄호를 포함한 실수의 사칙연산 2. 0으로 나누거나 괄호의 개수가 맞지 않거나 사칙연산 외의 기호가 들어가는 등의 문법 오류 감지 3. 공백 무시 4. 부호를 표현하기 위한 +- 가능 ---- 구현 코드 ---- main.cpp /* v1.0.0 [Last Update]: 2022.11.28 [File Name]: main.cpp https://katteniiki.tistory.com/ */ /* InflixToPost: 중위->후위 convert, is_digit 전역함수(string의 숫자 판별) PostCalculate: 후위 표기법 계산 Calculation: InflixToPost, PostCalcu..

    [C++] 예외 처리(1) - 예외 메커니즘과 스택 풀기

    안녕하세요, katte입니다. 이번 글에서는 예외의 기본적인 메커니즘에 대해 알아보도록 하겠습니다. 예외 처리는 예외를 발생시키는(던지는) throw, 특별한 예외가 발생할 수 있는 throw 블록, 뒤이어 나오는 한 개 이상의 catch 블록으로 이루어져 있습니다. 또한 발생되는 예외는 클래스형이 일반적입니다. 예외가 발생되면 함수는 종료되며, try catch 블록이 있는 함수를 만날 때까지 호출된 함수들의 연쇄를 거슬러 올라가게 됩니다. 이를 스택 풀기라고 합니다. 프로그램은 함수를 호출할 때, 스택을 사용합니다. 다른 함수를 호출한(calling) 함수 구문의 주소를 스택에 올리고, 호출된(called) 함수를 실행합니다. 이때 호출된 함수의 매개변수 리스트와 local 변수 역시 스택에 추가됩니..

    [기타] C++ 은 익히기가 진짜 어려운 것 같다

    보호되어 있는 글입니다.

    [C++] 템플릿 클래스만 쓰면 링크 에러가 나는 이유가 뭘까

    해결책은 간단 걍 헤더파일에 함수 정의까지 집어넣으면 됨

    [기타] 42서울 체크인미팅까지 완료!

    보호되어 있는 글입니다.