본문으로 바로가기

나만의 연습장

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 방명록
관리자
  • 블로그 이미지
    엄준식사생팬

    엄준식이 좋아요.

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

C++11) auto 키워드

auto 키워드는 C++ 11에서 처음 등장했으며, 변수의 자료형을 컴파일 시간에 자동으로 추론해줍니다.decltype 키워드와 같이 자주 쓰입니다. 기본 문법auto temp; (잘못 작성했습니다. auto f = { 1 } 은 c++14 까진 std::initializer_list, c++17 부턴 int 입니다.) auto를 사용함으로써, 긴 변수의 이름도 쉽게 작성할 수 있게 되었습니다.예를 들어 이렇게 길고 복잡한 타입명을 a.begin의 리턴형에 맞춰 자동으로 추론해줍니다. 이런 경우는 어떨까요? template 함수 내에서 두 수를 곱하는 함수를 만들어 줬습니다.그런데 int 형과 double 형을 곱하고 있군요, 이런 어쩌죠 abc에서는 T 값을 반환하니... int 형이 반환될텐데요 ?이..

C++/Modern 2019. 1. 30. 05:18

[백준] 2231번 분해합

이번에도 생각만 잘하면 쉽게 풀 수 있는 문제입니다. 만약 숫자 256은 = 245 + 2 + 4 + 5 입니다. 그럼 생성자는 245겠지요.M이라는 숫자가 생성자이고, 셋째자리라면 M + M첫째자리 + M둘째자리 + M셋째자리 입니다.근데 각 자리수마다 올 수 있는 최댓값은 9입니다.그럼 첫번째부터 돌 필요 없이, 주어진 숫자의 자릿수 만큼 9를 빼주면 됩니다.그럼 그 숫자가 적어도 최소 시작 점이겠죠?(N을 생성하려면 M이라는 숫자 + ? 인데, ?는 최대 9밖에 올 수 없으니까요)256의 최소 시작점은 256 - 9 * 3 입니다. 사실 각 자릿수마다 토큰화시키는게 더 오래 걸린 문제;;

알고리즘/완전탐색 2019. 1. 30. 04:04

[백준] 2309번 일곱 난쟁이

브루노 포스 (완전탐색) 문제이다. 사실 브루노 포스가 뭔지 몰라서 구글에 검색해봄 ㅎ방법은 정답은 꼭 '7명' 이여야 한다는걸 노렸는데, i와 j번째 난쟁이를 제외한 나머지 난쟁이들의 키를 합친게 100 이라면그게 바로 정답이 되는 것이다. 이번문제는 간단했던것 같다. 배제할것만 배제하고 단순하게 생각하면 되겠지... 이런 문제처럼만이길..

알고리즘/완전탐색 2019. 1. 30. 01:41

[백준] 1005번 ACM Craft

분명 동적 계획법 기초에 있는 문제인데, 알고리즘 분류는 위상 정렬로 되어있다.순간 보고 멘붕해서 위상정렬에 대해서 처음부터 공부했다..물론 동적 계획법으로도 풀 수 있으나, 그 양이 방대해서 위상정렬로 푸는게 도움이 될 것 같다. 위상정렬에 대한 문제도 많으니 말이다.위상정렬에 대해 따로 정보를 주자면, 이어져 있는 노드들을 순서에 따라 정렬하는 것이다.자세한 내용은 나보단 더 설명이 잘 돼있는 블로그가 있으니 그 블로그 링크를 올리겠다. http://kks227.blog.me/220620723528 어우 이분 설명 잘하신다 진짜아무튼 위상정렬을 처음 해보는 나로써는 변수를 적어놓고 아 이걸 왜 적어줬지 어디다 쓰는거였지? 하고 계속 반복하게됐다.. 결국 풀긴 했지만 말이다... 일단 위상정렬이 됐다는..

알고리즘/정렬 2019. 1. 30. 00:20

[백준] 2156번 포도주 시식

이 문제도 진짜 어려웠다. 계단 오르기 처럼 하면 될 줄알았는데, 예상외로 변수가 많았다. 일단 잔이 1개 있다면, 그 1잔이 바로 최댓값이다. dp[1] = arr[1]잔이 2개있다면 2개를 마시는게 최댓값이다. dp[2] = arr[1] + arr[2]잔이 3개있다면? 여기서부터 문제인데 바로 연속으로 3잔은 마실 수 없는것이다.이제 점화식을 풀어보자 1) N번째로 마시는 포도주를 안마시겠다면?N번째 포도주가 양이 적어 건너뛰는게 나을 수도있다.이럴땐 dp[N] = dp[N-1] (N번째를 마시지 않았으므로) 2) N번째로 마시는 포도주가 1번 연속이라면?1번 연속이다라는건 앞의 포도주를 건너뛰고 처음으로 마셨다는 뜻이다그럼 n-1번째는 절대 마시면 안된다. 대신 n-2번째는 마시든 말든 상관없다.이..

알고리즘/동적계획법 2019. 1. 29. 01:33

C++11) 범위 기반 for문 (loop)

범위 기반 for문 ( loop ) 는 C++11에서 도입되었습니다.배열 및 컨테이너 ( 혹은 사용자 정의 타입에 처음과 끝을 정의한다면 ) 에 사용가능합니다. 기본 문법for (Type elem : container) 범위기반 for문은 a의 복사형을 받기 때문에, 컨테이너 (혹은 배열) 의 내용물을 변경한다면 변경되지 않습니다.그러나 인수를 참조형으로 사용한다면, 변경할 수 있습니다. 함수와 마찬가지로, 참조형으로 원소를 받으면, 주소를 넘기는 것이기 때문에 용량이 큰 컨테이너나 사용자 정의 타입에 대해 효과적입니다. 만약 수정을 원하지 않을 경우 상수로 바꾸시면 됩니다. (const int& i 같이) 또한 컨테이너 타입 ( vector, list ...) 에 사용 가능합니다.( 다음에 auto k..

C++/Modern 2019. 1. 27. 21:43

C++11) 초기화 리스트(initialize_list)

초기화 리스트(initialize_list)는 C++11에서 도입된 방식이다.이전 C++98 에서는 Member Initializer list ( 콜론 초기화 ) 를 통해서 멤버 변수들 초기화가 가능했으며C++ 11 부터는 Braced-Init-list를 지원한다.기본적으로 구조체 혹은 클래스로 만들어진 사용자 정의 타입에 대해 동작하며, 컨테이너 및 STL에는 std::initializer_list 로 구현되어있다. http://www.enseignement.polytechnique.fr/informatique/INF478/docs/Cpp/en/cpp/language/initializer_list.html 참고) U라는 클래스 내에서 T라는 타입의 멤버변수를 초기화 할때도 사용할 수 있다. ( 18번째..

C++/Modern 2019. 1. 27. 01:00

[백준] 1912번 연속합

사실 이걸 올려야하나 말아야하나 고민 많이했는데.. 구하는 방법이라도 알 수 있으니 그냥 올렸다.dp보다는 변수2개로 둬서 구했는데.. dp로 구해도 되긴 된다.. 원리는now와 max를 두고arr[2]번째부터 now에 계속 더해주는 것이다. (2번째부터 도는 이유는 첫번째는 무조건 자기 자신이 최대값이기 때문)그리고 더해준 now 와 max를 비교해 둘 중 더 큰값을 MAX 값으로 두면 된다.그리고 now가 더해져 가면서 만약 0보다 작아진다면? 그땐 now를 0으로 (초기화) 시켜주면 된다. 왜냐면 now가 -가 된다면 최대값이 될 수 없다.예외가 있다면 음수들만 arr에 들어온다는 것인데그런 경우엔 arr 중에서 가장 작은 값이 최대 값이다.예를 들어 arr에 5개의 숫자가 들어있고 -1,-2,-3..

알고리즘/동적계획법 2019. 1. 26. 03:58
  • 이전
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 분류 전체보기 (129)
    • 알고리즘 (13)
      • 정렬 (1)
      • 동적계획법 (9)
      • 완전탐색 (2)
    • C++ (63)
      • Modern (40)
      • Before (2)
      • STL (11)
      • 여담 (8)
      • WinApi (1)
    • Graphics (17)
      • 이론 (8)
      • DirectX (3)
      • Vulkan (6)
    • Computer Science (0)
    • UnrealEngine (32)
      • 기능 (13)
      • Impl (14)
      • Issue (1)
      • Editor (4)
    • Unity3D (4)
      • 기능 (4)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • vulkan
  • 언리얼엔진5
  • 언리얼엔진4
  • stl
  • Before
  • 여담
  • UnrealEngine
  • unity3D
  • c++
  • c++20
  • UnrealEngine5
  • Firebase
  • UnrealEditor
  • UnrealEngineIssue
  • Modern
MORE+

ARCHIVE

CALENDAR

«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

LINK

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT 나만의 연습장, ALL RIGHT RESERVED.
나만의 연습장
블로그 이미지 엄준식사생팬 님의 블로그
MENU
  • 홈
  • 태그
  • 방명록
CATEGORY
  • 분류 전체보기 (129)
    • 알고리즘 (13)
      • 정렬 (1)
      • 동적계획법 (9)
      • 완전탐색 (2)
    • C++ (63)
      • Modern (40)
      • Before (2)
      • STL (11)
      • 여담 (8)
      • WinApi (1)
    • Graphics (17)
      • 이론 (8)
      • DirectX (3)
      • Vulkan (6)
    • Computer Science (0)
    • UnrealEngine (32)
      • 기능 (13)
      • Impl (14)
      • Issue (1)
      • Editor (4)
    • Unity3D (4)
      • 기능 (4)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바