C++ map value sort - 맵 값 정렬 포스팅 썸네일 이미지

C++/STL

C++ map value sort - 맵 값 정렬

1. Map value sort Map 컨테이너에서 처음 선언하는 방식의 따라 Key 기준으로 오름차순, 내림차순을 지정할 수 있다. 하지만 1. 만약 Key가 아닌 Value를 비교하여 정렬을 하고 싶을 경우 혹은 2. 단순히 오름차순, 내림차순이 아닌 특정 조건에 의하여 정렬을 하고 싶을 경우 Map을 Vector로 변환한다음 Vector에서 정렬을 하던것처럼 해주면 된다. 2. 코 드 환경 : Visual Studio 2019 #include #include #include #include using namespace std; typedef pair ii; int main() { map map; map[5] = 20; map[2] = 50; map[3] = 10; map[4] = 40; map[1]..

2020.11.17 게시됨

C++ 소수 판별하기 포스팅 썸네일 이미지

C++/Algorithm

C++ 소수 판별하기

1. 소수 판별 소수란 1보다 크며 1 이외의 자신으로만 나누어지는 수이다. 어떠한 수 n이 소수인지 판별하기 위하여 for문을 사용하여서 2부터 나누어 n-1까지의 수 중 나머지가 0이 되는 수가 존재하는 지 루프를 돌면 판별할 수 있다. 하지만 이러한 방식은 비효율적으로 매우 큰 수인 소수의 경우 엄청난 연산과 비교를 하는 루프를 필요로 한다. 그래서 이를 효율적으로 하기 위하여 특정 방법을 사용하여서 루프 횟수를 줄일 수 있다. 2. 코 드 환경 : Visual studio 2019 #include #include #include using namespace std; bool sosu(int num) { if (num < 2) return false; int a = (int) sqrt(num); f..

2020.11.16 게시됨

C++ 제곱 수, 제곱근 구하기 pow, sqrt, hypot 포스팅 썸네일 이미지

C++/STL

C++ 제곱 수, 제곱근 구하기 pow, sqrt, hypot

1. pow, sqrt, hypot 해당 함수들은 cmath 라이브러리의 포함되어 있어 cmath를 include 해주어야 한다. 어느 수를 제곱이나 n제곱을 하고자 한다면 pow 함수를 사용한다. 제곱근을 구하기 위해서는 sqrt 함수를 사용한다. ex) 9 => 3, 16 => 4 세제곱근을 구하기 위해서는 cbrt 함수를 사용한다. 두 수를 각각 제곱한 후 더한 후 제곱근을 구하고자 한다면 hypot을 사용할 수 있다. 2. 코 드 환경 : Visual studio 2019 #include #include using namespace std; int main() { int num = 9; cout

2020.11.16 게시됨

C++ 값 변경하기 replace 포스팅 썸네일 이미지

C++/STL

C++ 값 변경하기 replace

1. replace replace 함수는 algorithm 라이브러리의 포함되어 있다. replace는 지정한 구간 사이를 검사하여 바꾸고자 하는 값이 존재할 경우 지정한 값으로 변경한다. 해당 작업은 for문과 if문을 사용하여 간단하게 구현 가능하지만 해당 함수를 쓰면 단 한줄로도 똑같은 기능을 할 수 있다. 2. 코 드 환경 : Visual studio 2019 #include #include #include #include using namespace std; int main() { vector v = { 10, 35, 45, 27, 10 }; for (int i : v) cout

2020.11.16 게시됨

C++ 인접하는 중복되는 원소 지우기 unique 포스팅 썸네일 이미지

C++/STL

C++ 인접하는 중복되는 원소 지우기 unique

1. unique unique 함수는 algorithm 라이브러리의 포함되어 있다. unique는 인접하는 중복된 원소를 제거해주는 기능을 한다. 따라서 집합처럼 중복이 존재하지 않는 유일한 원소값만을 가져야 해야 할 경우 이용할 수 있다. 하지만 완전한 제거가 아니며 다음 중복되지 않은 다른 요소로 대체되어 뒤쪽에 붙는다. 따라서 추가적인 작업을 해주어야만 완전히 중복된 원소를 제거해낼 수 있다. 2. 코 드 환경 : Visual studio 2019 #include #include #include using namespace std; int num = 0; int main() { vector v = { 10, 30, 20, 20, 40, 40, 40, 50, 10, 20, 30}; for (int i..

2020.11.15 게시됨

C++ 문자열 소문자, 대문자 변환 transform 포스팅 썸네일 이미지

C++/STL

C++ 문자열 소문자, 대문자 변환 transform

1. transform transform은 algorithm 라이브러리의 포함되어 있는 함수이다. transform을 사용하면 일련의 값들을 특정 조건에 따라서 변환 시킬 수 있다. 또한, 이미 구현되어 있는 tolower이나 toupper을 같이 사용하면 간단하게 대문자를 소문자로, 소문자를 대문자로 변환할 수 있다. 2. 코 드 환경 : Visual studio 2019 #include #include #include #include using namespace std; typedef pair pis; int main() { // 1. 숫자 vector vector v = { 10, 20, 30, 40, 50 }; for (int i : v) cout

2020.11.15 게시됨