accumulate 함수는 많은 C++ 사용자들에게 널리 알려져 있지만, 그래도 아직 모르는 사용자들이 있다고 생각되어 포스팅을 남긴다. std::accumulate 함수는 특정 배열 혹은 container의 누적 합을 구할 때 사용가능한 함수이다. 특히, 전체 합을 구하거나, 한 번의 누적 합을 구할 때 사용할 수 있다. 함수 accumulate를 사용하지 않고 누적 합을 구한다면 다음과 같이 작성할 수 있다. 예를 들어, vector nums 안에 있는 모든 원소들의 합을 구한다고 가정하여보자. 다음과 같이 코드를 작성할 수 있다. HTML 삽입 미리보기할 수 없는 소스 코드 자체는 길지 않지만, accumulate는 누적 합을 구하는 것 이외의 응용을 할 수 있는 방법이 무궁무진하다. 1. accu..
이 함수는 앞서 소개한 all_of 나 any_of 과 비슷한 성격을 띠고 있는 함수지만, 앞의 두 함수보다 더 자주 사용하고 유용하게 사용할 수 있는 함수를 하나 소개하고자 한다. 만약, 다음과 같은 문제가 있다고 하여보자. 어떤 container 안에 모든 원소가 -1이 아닌지 확인하시오. none_of를 알기 전, 필자는 이러한 코드를 작성하였을 것이다. HTML 삽입 미리보기할 수 없는 소스 이런이런! 7줄이나 먹는 코드라니, 매우 비효율적인 코드이다. 이를 none_of 함수를 사용하여 한 줄로 압축하여보자! 1. none_of (※ https://www.cplusplus.com/reference/algorithm/none_of/ 에서 함수에 대한 정보를 확인할 수 있다.) C++의 알고리즘 관..
어떤 배열 안 혹은 container 안에서 모든 원소들이 어떤 특정 조건을 만족하는지 검사하기 위하여 우리는 for문을 활용하여, 하나씩 검사하는 방법을 사용하였다. 예를 들어, vector num 이라는 container 안에 모든 원소가 모두 0보다 큰지 검사하기 위해 다음과 같은 코드를 작성하였다. HTML 삽입 미리보기할 수 없는 소스 또 이런! 이러한 코드를 작성하는데 7줄을 써야한다고? 시간 낭비에 공간 낭비 따윈 걱정 마시라, 이제는 함수 all_of 를 사용하면 단 한줄만에 작성할 수 있다! 1. all_of (※https://www.cplusplus.com/reference/algorithm/all_of/ 에서 함수에 대한 정보를 확인할 수 있다.) C++의 알고리즘 관련이 담긴 헤더 ..
어떤 배열 안에 어떤 특정 조건을 만족하는 원소가 있는지 검사하기 위해 우리는 배열 안의 모든 원소를 둘러보며, 하나씩 비교하는 방법을 사용하였다. 예를 들어, 배열 arr 안에 정수 0이 있는지 for문을 활용하여 작성하면 다음과 같이 작성할 수 있다. HTML 삽입 미리보기할 수 없는 소스 이런! 코드의 길이가 7줄이나 된다고? 너무나도 귀찮고 귀찮다. 이를 위하여 C++ 에는 함수 any_of 가 만들어져 있다! 1. any_of (※ https://www.cplusplus.com/reference/algorithm/any_of/ 에서 함수에 대한 정보를 확인할 수 있다.) C++의 알고리즘 관련이 담긴 헤더 에서의 any_of 함수는 다음과 같은 구조를 가진다. bool any_of (InputI..
필자는 코딩을 Python 3 로 시작하였고, 따라서 아직 C++ 문법보다 Python 3 의 문법에 조금 더 익숙하다. 따라서, C++ 11부터 지원되는 range-based for문을 자주 사용한다. Python을 다루어보지 않은 C++ 사용자들도 알아두면 좋은 문법이니 소개하도록 한다. 또한, 매번 배열의 길이를 넣어주느라 피곤한 프로그래머들은 다른 형태의 for문을 알아두는 것이 좋다고 생각한다. 1. range-based for loop Range-based for loop문은 다음과 같은 꼴을 가진다. HTML 삽입 미리보기할 수 없는 소스 Python을 다루었던 기억이 있는 프로그래머들은 위와 같은 코드가 익숙하지만, 다루지 않았던 프로그래머들은 위와 같은 코드가 조금 어색할 수 있다. C+..
Union-Find / 분리집합 알고리즘이나 여러 문제를 풀 때 종종 자기 자신의 index를 값으로 초기화 해야하는 경우가 많다. 우린 그럴때마다 for문을 이용한 방법으로 다음과 같은 코드를 사용한다. HTML 삽입 미리보기할 수 없는 소스 이를 한 방에 처리해주는 함수가 있으니, 이름하여 iota 되시겠다! 1. iota (※ https://www.cplusplus.com/reference/numeric/iota/ 에서 함수에 대한 정보를 확인할 수 있다.) C의 Sequence관련 여러 함수들이 담긴 헤더 에서의 iota 함수는 다음과 같은 구조를 가진다. void iota (ForwardIterator first, ForwardIterator last, T val) iota는 3개의 인자를 받는..
- Total
- Today
- Yesterday
- 백준
- effective async
- 사칙연산
- 수학
- Python
- JS
- react
- 문자열
- GDSC
- 제어문
- bomblab
- C
- Proactor
- 시간복잡도
- Network
- equal
- CSAPP
- 함수
- Max
- C++
- for
- docker
- MIN
- 헤더
- 알고리즘
- BOJ
- BRONZE
- 프로그래밍
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |