본문 바로가기

C++/기초 및 알고리즘 함수14

[c++] 문자열 형변환 atoi, stoi, c_str, isdigit "이런" rvalue 상태인 문자열를 숫자로 atoi() 'a' to int 문자열을 문자로 c_str() str()을 char로 문자열을 숫자로 stoi() string to int 숫자인지 확인 isdigit() true / false 리턴 atoi() 와 c_str(), stoi() : 모두 데이터의 형변환에 쓰인다 변환 전 후, 우리가 인식하는 데이터의 값은 같다. 물론 컴퓨터나 프로그램에는 중요하고 필요한 차이다 atoi() : char형을 인자로 받아 int형으로 바꿔준다. 숫자가 아닌 문자나 다른 것일 경우, 변환에 실패하고, 0을 리턴한다. 정상작동 결과인 숫자 0인지 실패 결과인 boolean 값 0인지를 구분하기 위해서 isdigit을 사용하여 숫자여부를 판별가능하다 stoi() : 문.. 2022. 6. 16.
[c++] 배열 한번에 초기화 하는법, fill 배열 전체의 요소를 모두 0으로 초기화 할때는 아래 3가지 방법이 있다 arr[100] = {} arr[100] = {0} // 0의 경우만 전체 0으로 초기화가 적용된다. {-1} 의 경우 첫 요소만 -1 로 입력 되고 나머지는 0으로 된다 arr[100] = {0, } 위의 두번째와 마찬가지로, {} 안에 0 외에 {3}과 같이 다른 수를 넣으면 첫 요소만 그 수의 값을 가지고, 나머지 요소는 0이 된다. 또한 arr[100] = {3, 4} 라고 입력 시, arr[0]=3, arr[1]=4 로 들어가고 입력안한 인덱스 2 이상은 모두 0으로 초기화된다 지역변수로 배열을 선언할 경우 항상 직접 초기화를 해줘야 한다 전역변수는 따로 초기화를 하지 않아도 배열 전체가 0으로 초기화 된다 fill 함수를 .. 2022. 6. 15.
[c++] string 의 substr, find string 관련 문제를 풀던 중 사용법을 잊어서 다시 정리한다 substr() : 해당 인덱스 범위의 문자열을 반환한다. 전체 문자열.substr(시작 인덱스 위치, 뽑아낼 문자 개수) // 2번째 인자를 입력하지 않으면 문자열 끝까지 반환한다 find() : 인자로 검색할 문자를 받아 처음으로 검색되어 나온 위치의 인덱스를 반환한다. 검색대상 문자열.find(검색할 문자) = int 검색 문자의 첫인덱스 // 못찾으면 마지막 요소 뒤(string::npos) 를 반환 2022. 6. 14.
[c++] lowe_bound, upper_bound, rotate lower_bound() : 타겟 이상(타겟과 같으면 포함)인 요소의 첫 위치를 찾음 lower_bound(탐색시작위치, 탐색끝내는 위치, 타겟) upper_bound() : 타겟 초과(같으면 포함 안함)인 요소의 첫 위치를 찾음 upper_bound(탐색시작위치, 탐색끝내는 위치, 타겟) lower, upper모두 타겟을 찾지 못할 시, end() 의 위치를 가리킴 - 반복자이므로 처음부터 한 번 쭉 훑고가기때문 **rotate() : 2차원 배열의 경우 90도 단위로 회전을 시키거나, 1차원 배열을 옆으로 몇칸씩 밀때 사용한다 rotate(시작반복자, 첫 위치로 올 반복자, 종료 반복자) 2022. 6. 13.