Programming/PS 3

PS를 위한 C++ - string

C++의 string은 C언어의 문자열보다 훨~씬 간편하다. C++의 string도 vector만큼 간편하다. 어느 정도냐 하면 아마 파이썬만큼 강력하지 않을까 싶다. C++의 string은 본래 std::string이지만, PS할 때는 편의상 그냥 string으로 표기한다. 선언 string s; s = "hello world"; 1. 생성자로 만들기 string s("hello world"); 2. 복사로 만들기 string str = s; 3. 원소 바꿔치기 파이썬에서는 안 되는 기능이다. s[3] = 'a'; string의 각 원소는 char임을 주의해야 한다. 4. 문자열 접합 (concat) string str = s + " ddari"; STL과 결합하면 더욱 강력해진다. 5. 문자열 뒤집기..

Programming/PS 2019.06.26

PS를 위한 C++ - vector

PS를 할 때 나는 거의 대부분 C++를 쓴다. (C++11) 왜냐하면 C++에 정말 엄청난 툴인 STL이 있기 때문이다. 그중 나에게 최애는 단연 vector이다. vector는 작고 간편하지만, 정말 많은 상황들에서 강력한 힘을 발휘한다. 난 대부분의 상황들을 거의 vector로 처리한다. C++의 vector는 본래 std::vector이지만, PS할 때는 편의상 그냥 vector로 표기 한다. 벡터는 만드는 것도 참 간단하다. vector v; 생성자로 만드려면 vector v(10); // size == 10, all elements will be 0 1. 정렬 (O(nlogn)) sort(v.begin(), v.end()); // asc sort(v.begin(), v.end(), greate..

Programming/PS 2019.06.26

python으로 PS할 때 입력 받기

파이썬으로 PS할 때 입력받기 좀 까다로운데, 이렇게 하면 된다. (python2 기준) 숫자 하나가 들어오면 괜찮다.n = int(raw_input())와 같이 하면 된다.raw_input()으로 받으면 항상 문자열임을 주의하자. 숫자가 두 개이상 들어올 때에는 n, m = raw_input().split(' ') 과 같이 해주면 이쁘게 n, m에 각각 들어간다. 이 문자열을 n = eval(n) m = eval(m) 이렇게 하면 된다. 아래는 복붙용 n, m = raw_input().split(' ') n = eval(n) m = eval(m)

Programming/PS 2019.06.26