deulee의 개발 노트

고정 헤더 영역

글 제목

메뉴 레이어

deulee의 개발 노트

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (112)
    • C++ (79)
      • C++98 (36)
      • Modern C++(11, 14, 17, 20) (34)
      • C++ STL (9)
    • 데이터베이스 (0)
    • 컴퓨터 구조 (0)
    • 운영체제 (0)
    • 읽은 책 (0)
    • 네트워크 (0)
    • 알고리즘 (31)
      • 이론 (5)
      • 문제 (26)
    • 잡글 (1)
      • 아이디어 (0)
      • 해야할 것 (0)
      • 목표 (0)
      • 정보글 (1)
    • git (0)

검색 레이어

deulee의 개발 노트

검색 영역

컨텐츠 검색

분류 전체보기

  • C++의 새로운 입출력 - cout, endl, cin

    2023.06.10 by deulee

  • using 키워드

    2023.06.10 by deulee

  • namespace - 이름공간

    2023.06.10 by deulee

  • 백준 10830 - 행렬 제곱(C++)

    2023.06.10 by deulee

  • 백준 9935 - 문자열 폭발(C++)

    2023.06.10 by deulee

  • C++98 글을 시작하며

    2023.06.06 by deulee

  • 백준 9663 - N-Queen(C++)

    2023.06.06 by deulee

  • 백준 9465 - 스티커(C++)

    2023.06.06 by deulee

C++의 새로운 입출력 - cout, endl, cin

cout, endl, cin 사용 방법 설명하기에 앞서 우선 어떤 식으로 사용되는지 코드로 알아보도록 하자. 예제 코드 #include int main(void) { std::cout > 연산자는 개행을 기준으로 차례대로 입력을 받을 수 있게 해준다라고 생각하면 편하다. 이에 대해서 자세한 내용은 나중에 다루도록 한다. 우선은 C++에서 입출력을 어떻게 사용하는지 알아두는 것이 중요하다.

C++/C++98 2023. 6. 10. 01:35

using 키워드

using은 뭘까? using을 이용하여 네임스페이스를 명시적으로 만들 수 있다. 이 말이 무슨 말일까? using 키워드를 다음과 같이 사용해보도록 하자. 예제 코드 #include namespace deulee { int num = 1; } using namespace deulee; int main(void) { std::cout

C++/C++98 2023. 6. 10. 01:02

namespace - 이름공간

namespace란? 네임스페이스는 컴파일러가 식별자(identifier - 변수, 함수 등)를 더 잘 구분하여 오류를 최소화하기 위한 기능이다. 이러한 기능은 대형 프로젝트를 구현하게 될 시 많은 사람들이 변수 또는 함수를 만들게 되는데 이때 충돌을 방지하기 위한 측면으로 자주 쓰인다. 우선 이를 알기 전에 선행 지식으로 지역변수와 전역변수에 대해서 알 필요가 있다. 지역변수 vs 전역변수 #include int v = 0; int main(void) { std::cout

C++/C++98 2023. 6. 10. 00:48

백준 10830 - 행렬 제곱(C++)

문제 크기가 N•N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하는 것이다. 입력 첫째 줄에 행렬의 크기 N과 B가 주어진다. (2 ≤ N ≤ 5, 1 ≤ B ≤ 100,000,000,000) 그 다음줄 부터 N개의 줄에 행렬의 각 원소가 주어진다. 예제 입력 2 5 1 2 3 4 예제 출력 69 558 337 406 문제 해결 어디서 힌트를 얻을 수 있을까? '제곱'이라는 키워드에 중점을 둬서 이 문제를 풀어야 한다. 거듭 제곱 문제를 풀 때 제곱의 수를 반으로 줄여서 곱하는 것은 똑같은 결과를 가져다 주는 것을 알 수 있다. N^B = N^(B/2) * N^(B/2) 이렇게 계속 반으로 줄이다 보면 더 이상 줄이지 못하는 기저 사례가 나오게 되고 처리해 주면 된다. 만약 홀수가..

알고리즘/문제 2023. 6. 10. 00:14

백준 9935 - 문자열 폭발(C++)

문제 문자열이 하나와 폭발 문자열이 하나 주어진다. 문자열에 폭발 문자열이 포함되고 있는 경우, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 이때 폭발 문자열이 남지 않을 때 까지 이를 반복하여 최종적으로 남은 문자열을 출력하는 문제다. 만약 아무런 문자도 남지 않은 경우 "FRULA"를 출력한다. 입력 두 개의 문자열이 차례대로 입력된다. 예제 입력 mirkovC4nizCC44 C4 예제 출력 mirkovniz 문제 해결 어디서 힌트를 얻을 수 있을까? 애초에 이 문제는 문제 설명 자체에서 힌트를 준 것이나 다름이 없다. 폭발 문자열를 만났을 때 해당 문자열은 없애고 새로 만들어진 문자열을 다시 검사하고 또 이를 반복하는 것이기 때문이다. 이를 그대로 ..

알고리즘/문제 2023. 6. 10. 00:07

C++98 글을 시작하며

C++98은 사실 세 가지 분류로 나눌 수 있다. C++ STL template 이 카테고리에서는 위의 세 가지를 기준으로 C++98에 대한 내용을 담아보려고 한다.

C++/C++98 2023. 6. 6. 19:57

백준 9663 - N-Queen(C++)

문제 N-Queen 문제는 크기가 N•N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성해라. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 15) 예제 입력 8 예제 출력 92 문제 해결 어디서 힌트를 얻을 수 있을까? '퀸', '서로 공격할 수 없게', 그리고 '방법의 수'라는 것을 보고 이 문제는 단순 구현 문제라는 것을 알 수 있었다. 우선 첫 줄에 퀸을 어디에 놓느냐 그리고 다음 줄에 퀸을 어디에 놓느냐에 따라 그 다음줄에 놓을 수 있는 퀸이 놓여지지 않는 곳을 결정할 수 있다. 즉, 해당 위치에 퀸을 놓았을 때와 안 놓았을 때로 구분되는데 이러한 문제는 백트래킹으로 쉽게 풀 수 있다. 퀸이 공격하는 방향은 상, ..

알고리즘/문제 2023. 6. 6. 18:54

백준 9465 - 스티커(C++)

문제 2•N의 배열이 주어진다. 이 배열의 요소 안에는 각각의 값어치를 나타내는 값이 주어진다. 이때, 한 요소와 변을 공유하는 요소는 사용하지 못할 때 사용할 수 있는 요소를 이용하여 최대 값을 구하는 문제이다. 즉, 2n개의 스티커 중에서 점수의 합이 최대가 되면서 서로 변을 공유하지 않는 스티커의 집합을 구하는 문제이다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 두 줄에는 N개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 점수이다. 예제 입력 2 5 50 10 100 20 40 30 50 70 10 60 7 10 30 10 50 100 20 40 20 40 30 50 60 20 80 예제..

알고리즘/문제 2023. 6. 6. 18:44

추가 정보

인기글

최신글

페이징

이전
1 ··· 8 9 10 11 12 13 14
다음
TISTORY
deulee의 개발 노트 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바