Algorithm
-
python의 경우에는 바로 sort함수를 쓸 수 있는 것과 달리 (Built in function이므로) c++의 경우에는 sort함수가 algorithm 헤더 안에 속해 있으므로 이를 사용하기 위해서는 초반부에 반드시 algorithm을 선언해주어야 한다. 위 함수에서의 인자는 다음과 같다. sort(시작지점의 주소, 끝나는 지점의 주소, (정렬의 기준)) 예를 들어 5칸짜리 int형 배열 test을 첫번째에서 3번째 인자만 정렬하고 싶다면 sort(test, test + 3)를 해주면 된다. 단, 끝나는 지점은 열린구간이므로 그 주소는 포함하지 않는다. 마지막 인자인 정렬의 기준의 경우에는 반드시 포함될 필요는 없으나, 일반적인 기준인 오름차순으로 정렬하지 않는다면 삽입해주어야 한다. 이를 위해서는..
[c++] Sort 함수를 활용하여 정렬하기python의 경우에는 바로 sort함수를 쓸 수 있는 것과 달리 (Built in function이므로) c++의 경우에는 sort함수가 algorithm 헤더 안에 속해 있으므로 이를 사용하기 위해서는 초반부에 반드시 algorithm을 선언해주어야 한다. 위 함수에서의 인자는 다음과 같다. sort(시작지점의 주소, 끝나는 지점의 주소, (정렬의 기준)) 예를 들어 5칸짜리 int형 배열 test을 첫번째에서 3번째 인자만 정렬하고 싶다면 sort(test, test + 3)를 해주면 된다. 단, 끝나는 지점은 열린구간이므로 그 주소는 포함하지 않는다. 마지막 인자인 정렬의 기준의 경우에는 반드시 포함될 필요는 없으나, 일반적인 기준인 오름차순으로 정렬하지 않는다면 삽입해주어야 한다. 이를 위해서는..
2020.09.05 -
처음에 이 문제를 보고 세운 전략은 string 자료형으로 그룹 단어를 받고, 앞 index부터 바로 앞 단어와 글자가 같으면 pass하고, 다르면 앞 index에서 등장한 문자인지를 확인하여 그룹단어 여부를 확인한다. 다만, 이 상황에서 이미 등장한 문자열을 string자료형에 concat을 시키는 방식으로 코드를 구현하였다. 해당하는 방식으로 코드를 구현한 결과는 다음과 같다. #include #include #include using namespace std; int main(void){ int how_many_repeat; cin >> how_many_repeat; string checker; string non_pass_element; int count = 0; // how many group ..
[백준 1316번] 그룹 단어 체커처음에 이 문제를 보고 세운 전략은 string 자료형으로 그룹 단어를 받고, 앞 index부터 바로 앞 단어와 글자가 같으면 pass하고, 다르면 앞 index에서 등장한 문자인지를 확인하여 그룹단어 여부를 확인한다. 다만, 이 상황에서 이미 등장한 문자열을 string자료형에 concat을 시키는 방식으로 코드를 구현하였다. 해당하는 방식으로 코드를 구현한 결과는 다음과 같다. #include #include #include using namespace std; int main(void){ int how_many_repeat; cin >> how_many_repeat; string checker; string non_pass_element; int count = 0; // how many group ..
2020.08.29 -
Python에서는 2의 3승을 그냥 쉽게 2 ** 3으로 나타낼 수 있지만, c++의 경우에는 그러한 방식으로는 제곱승을 처리할 수 없다. 따라서 c++에서는 함수를 활용하여 제곱승의 값을 처리해야 하는데 이를 위해서는 pow 함수를 활용해주면 된다. 반면 제곱근을 구하기 위해서는 두 언어 모두 sqrt 함수를 이용해야한다는 점에서는 공통적이다. 각각의 함수에 대해서 알아보도록 하겠다. 1. pow 함수 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, pow(밑, 진수)를 활용해서 호출해 주면 된다. 2. sqrt 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, sqrt(제곱근을 구할 수)를 활용해서 호출해 주면 된다. 이 중, pow 함수를 활용한 문제를 살펴보도록 하겠다. #incl..
[c++] 제곱 및 제곱근을 활용해보기 (pow, sqrt 함수)Python에서는 2의 3승을 그냥 쉽게 2 ** 3으로 나타낼 수 있지만, c++의 경우에는 그러한 방식으로는 제곱승을 처리할 수 없다. 따라서 c++에서는 함수를 활용하여 제곱승의 값을 처리해야 하는데 이를 위해서는 pow 함수를 활용해주면 된다. 반면 제곱근을 구하기 위해서는 두 언어 모두 sqrt 함수를 이용해야한다는 점에서는 공통적이다. 각각의 함수에 대해서 알아보도록 하겠다. 1. pow 함수 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, pow(밑, 진수)를 활용해서 호출해 주면 된다. 2. sqrt 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, sqrt(제곱근을 구할 수)를 활용해서 호출해 주면 된다. 이 중, pow 함수를 활용한 문제를 살펴보도록 하겠다. #incl..
2020.08.28 -
일반적으로 c++의 경우에는 cin을 활용하여 문자를 받아들이게 되는데, 이 경우에는 scanf와 마찬가지로 공백을 기준으로 자른다. 즉, tab, 띄어쓰기, 엔터등이 올 때까지 문자를 받아들인 뒤 공백이 등장하면 공백 전까지를 저장시킨다. (앞의 글에서 언급한 것처럼 buffer에는 이들의 정보가 남아있다.) 따라서 일반적으로 띄어쓰기도 하나의 문자열의 정보로 받아들이기 위해서는 위의 방식처럼 활용할 수 없다는 것을 알 수 있다. 그래서 사용하게 되는 함수가 getline이다. c++에서는 일반적으로 string 자료형을 사용하기 때문에, 원래는 getline함수가 2가지이지만 string 자료형을 사용하는 케이스만을 다루도록 하겠다. 사용하는 방법은 getline(cin, 정보를 받을 string t..
[c++] 공백이 포함된 문자열의 입력 활용예제일반적으로 c++의 경우에는 cin을 활용하여 문자를 받아들이게 되는데, 이 경우에는 scanf와 마찬가지로 공백을 기준으로 자른다. 즉, tab, 띄어쓰기, 엔터등이 올 때까지 문자를 받아들인 뒤 공백이 등장하면 공백 전까지를 저장시킨다. (앞의 글에서 언급한 것처럼 buffer에는 이들의 정보가 남아있다.) 따라서 일반적으로 띄어쓰기도 하나의 문자열의 정보로 받아들이기 위해서는 위의 방식처럼 활용할 수 없다는 것을 알 수 있다. 그래서 사용하게 되는 함수가 getline이다. c++에서는 일반적으로 string 자료형을 사용하기 때문에, 원래는 getline함수가 2가지이지만 string 자료형을 사용하는 케이스만을 다루도록 하겠다. 사용하는 방법은 getline(cin, 정보를 받을 string t..
2020.08.28 -
일반적으로 배열을 초기화 할 때, 일부만 채워넣은 경우에는 나머지는 0으로 초기화 된다. 다만, 문제 상황에 따라서 초기값이 0이 아니라 다른 숫자가 나와야 하는 경우에는 fill함수나 fill_n 함수를 이용하주면 된다. 이용방법은 다음과 같다. 1. fill_n의 이용 fill_n(변경하려는 원소의 범위 시작주소, 변경하려는 원소 갯수, 변경 값) 2. fill의 이용 fill(변경하려는 원소의 범위 시작주소, 변경하려는 원소의 범위 종료주소, 변경 값) 다만, 종료주소는 변경값에 포함되지 않는다. 일종의 다른 배열에서 그러는 것처럼 열린구간으로 취급해주면 된다. 위의 내용을 이용하여 해결해야하는 문제는 다음과 같다. #include #include #include using namespace std..
[c++] 배열의 초기화 방법(fill / fill_n)일반적으로 배열을 초기화 할 때, 일부만 채워넣은 경우에는 나머지는 0으로 초기화 된다. 다만, 문제 상황에 따라서 초기값이 0이 아니라 다른 숫자가 나와야 하는 경우에는 fill함수나 fill_n 함수를 이용하주면 된다. 이용방법은 다음과 같다. 1. fill_n의 이용 fill_n(변경하려는 원소의 범위 시작주소, 변경하려는 원소 갯수, 변경 값) 2. fill의 이용 fill(변경하려는 원소의 범위 시작주소, 변경하려는 원소의 범위 종료주소, 변경 값) 다만, 종료주소는 변경값에 포함되지 않는다. 일종의 다른 배열에서 그러는 것처럼 열린구간으로 취급해주면 된다. 위의 내용을 이용하여 해결해야하는 문제는 다음과 같다. #include #include #include using namespace std..
2020.08.24 -
#include #include #include using namespace std; int main(void){ // test case num calculate int test_case_num; cin >> test_case_num; // Percent store double percent_save[test_case_num]; // Calculate each line for(int i = 0; i > check_case_num; // how many number in the line int check_sum = 0; int check_save[1000] = {0};// value save for (int j = 0; ..
[백준 4344번] [동적 계획법] 평균은 넘겠지#include #include #include using namespace std; int main(void){ // test case num calculate int test_case_num; cin >> test_case_num; // Percent store double percent_save[test_case_num]; // Calculate each line for(int i = 0; i > check_case_num; // how many number in the line int check_sum = 0; int check_save[1000] = {0};// value save for (int j = 0; ..
2020.08.19 -
c++의 경우는 문자열을 저장하는 방식이 여러가지가 존재한다. (아래에 설명하는 내용을 쓰기 위해서 #include 을 헤더쪽에 적고 시작하도록 하자.) 1. String 자료형으로 처리 이 방법은 Python에서 사용한 여러가지 방법들을 활용하여 계산할 수 있는 장점이 있다. append, pop등등을 활용할 수 있고 concat도 가능하다. 2. 배열로 처리 이 방법또한 매우 좋은 방법충에 하나이다. #include using namespace std; int main(void){ char test[100]; cin >> test; cout > test; cout > N; int result[N]; for(int i = 0; i > test..
[c++] 문자열 저장방법의 차이 비교 (String / 배열)c++의 경우는 문자열을 저장하는 방식이 여러가지가 존재한다. (아래에 설명하는 내용을 쓰기 위해서 #include 을 헤더쪽에 적고 시작하도록 하자.) 1. String 자료형으로 처리 이 방법은 Python에서 사용한 여러가지 방법들을 활용하여 계산할 수 있는 장점이 있다. append, pop등등을 활용할 수 있고 concat도 가능하다. 2. 배열로 처리 이 방법또한 매우 좋은 방법충에 하나이다. #include using namespace std; int main(void){ char test[100]; cin >> test; cout > test; cout > N; int result[N]; for(int i = 0; i > test..
2020.08.19 -
c++에서는 c와는 다르게 string자료형을 사용할 수 있다. c에서는 char 자료형을 사용하여 배열에 이를 저장하는 방식으로 문자열을 처리하였는데, c++에서는 그럴 필요 없이 바로 string 자료형을 이용하면 된다. String을 int형으로 전환하기 위해서는 stoi (String to int로 외우면 쉽다.)를 이용해야하는데 이를 위해서는 헤더파일에서 #include 을 해주어야 한다. (string.h가 아님에 매우 주의해야 한다.) 기본적인 위 함수의 parameter는 다음과 같다. int stoi (const string& str , size_t* idx = 0, int base = 10) 이 함수의 전체적인 사용방법은 다음과 같다. 예를 들어 string example = "3314..
[c++] 문자열(String)을 숫자로 변환 및 숫자를 문자열로 변환c++에서는 c와는 다르게 string자료형을 사용할 수 있다. c에서는 char 자료형을 사용하여 배열에 이를 저장하는 방식으로 문자열을 처리하였는데, c++에서는 그럴 필요 없이 바로 string 자료형을 이용하면 된다. String을 int형으로 전환하기 위해서는 stoi (String to int로 외우면 쉽다.)를 이용해야하는데 이를 위해서는 헤더파일에서 #include 을 해주어야 한다. (string.h가 아님에 매우 주의해야 한다.) 기본적인 위 함수의 parameter는 다음과 같다. int stoi (const string& str , size_t* idx = 0, int base = 10) 이 함수의 전체적인 사용방법은 다음과 같다. 예를 들어 string example = "3314..
2020.08.18