전체 글

Archive

Permutation

To Do 순열을 사전순으로 나열 했을 때, 사전순으로 Next or Prev 순열을 찾는 방법에 대해 알아보자. 1) STL 함수 사용 2) 직접 구현 같은 Logic Problem : 10973 이전 순열 / 10974 모든 순열 Key Point n값에 따라 앞에서 부터 n자리까지만 순열을 구한다. do ~ while이 아닌 while문을 사용하게되면 다음과 같은 문제가 발생한다. 123 132가 아닌 즉 123상태에서 이미 swap을 시키게 된다. 132부터 시작한다. next or prev permutation의 Return Value에 대해 알아보자. next_permutation(v.begin(),v.end()); /* 만약 vector에 1 2 3 4 가 있다면 1 2 4 3 으로 순열을 ..

Archive

Binary Exponentiation

Binary Exponentiation(exponentiation by squaring)은 a의 n제곱을 O(n) 대신 O(logn) 의 곱셈만 사용하여 계산할 수 있는 트릭이다. 이 트릭은 수리적인 일 이외의 다양한 분야에 적용할 수 있고, 때문에 결합법칙을 갖는 모든 연산에 사용될 수 있다. 알고리즘 a의 n제곱은 단순히 a에 a를 n-1번 만큼 곱해주는 것으로 표현할 수 있다. 하지만 이런 방식은 a나 n이 큰 경우 효율적이지 못하다. Binary Exponentiation의 핵심은, 제곱수 n의 이진표현이다. 다음은 n을 이진수로 변경을 한 예시이다. 적용 기존의 재귀 방식으로 제곱을 계산하는 코드. long long binpow(long long a, long long b) { if (b == ..

C | C++

auto 키워드

타입 추론(type inference)이란 표현식의 타입을 컴파일러가 스스로 알아내는 기능이다. 타입 추론과 관련된 키워드는 auto 와 decltype 이 있다. 그 중 auto 키워드에 대해 알아보겠다. auto 키워드는 다음과 같은 상황들에 사용한다. 1. 함수의 리턴 타입을 추론한다. 2. 구조적 바인딩에 사용한다. (C++ 17, 타입 지정하면 안됨) 3. 표현식의 타입을 추론한다. 4. 비타입(non-type) 템플릿 매개변수의 타입을 추론하는 데 사용한다. 5. decltype 에서 사용한다. 6. 함수에 대한 또 다른 문법으로 사용한다. 7. 제네릭 람다 표현식에서 사용한다. 변수를 선언할 때 타입 자리에 auto 키워드를 지정하면 그 변수의 타입은 컴파일 시간에 자동으로 결정된다. aut..

Archive

홍정모랩 파이썬 추월코스 후기

저는 현재 연구소에서 자율주행 시뮬레이터를 개발하고 있습니다. 주 사용언어는 C++이고 머신러닝에 관심이 많아 Python을 따로 공부를 여러차례 시도했습니다. 하지만 매번 강의를 들으면서 뭔가 배워간다는 느낌이 전혀 없고, '아 저사람이 저렇게 하네' 라는 관객이 된 느낌이었습니다. ​참고로 제가 공부했던 교재/강의는 처음 시작하는 파이썬, Coursera, Udacity, Udemy 등이었습니다. ​파이썬이 나랑 안맞는건가? 라는 생각을 하던 중에 홍정모 교수님이 파이썬 강의를 만드신다는 소식을 들었습니다. 인프런에서 따배씨, 따배씨뿔뿔을 열심히 들었던 기억도 나고 해서 파이썬 추월코스도 수강신청했어요. ​결론은 대만족, 강력추천입니다!! ​강의 시간이 짧아서 이 시간에 파이썬을 다 알 수 있을까 싶..

냉국
Hardcore Graphics Engineering