반응형
[ 티스토리 ] 애드센스 하루 100명 방문자수 수익 공개
size() 함수
C++에서 size() 함수는 컨테이너의 크기를 반환하는 함수입니다. 다양한 컨테이너 타입에서 사용할 수 있으며, 해당 컨테이너에 저장된 요소의 개수를 반환합니다. size() 함수는 표준 라이브러리에서 제공되는 함수로, 벡터, 리스트, 배열 등의 컨테이너에서 사용할 수 있습니다.
함수 호출 시 해당 컨테이너의 크기를 반환하며, 반환값은 size_t 타입입니다. 이 함수는 일반적으로 컨테이너의 크기를 확인하거나 반복문에서 컨테이너의 요소를 처리하는 동안 종료 조건을 설정하는 데 사용됩니다. 예를 들어, for 루프에서 size() 함수를 이용하여 벡터의 크기만큼 반복하도록 설정할 수 있습니다.
size() 함수의 시간 복잡도는 O(1)로 매우 효율적입니다. 컨테이너 자체에 크기 정보가 저장되어 있으므로, 크기를 직접 반환할 수 있습니다. 컨테이너에 저장된 요소의 개수를 알고자 할 때 size() 함수를 사용하여 간단하게 확인할 수 있습니다. 다음은 간단한 예시입니다.
#include <iostream>
#include <vector>
int main() {
vector<int> numbers = {1, 2, 3, 4, 5};
// 벡터의 크기를 출력
cout << "Vectors Length: " << numbers.size() << endl;
return 0;
}
#include <iostream>
#include <vector>
int main() {
string str = "Hello, World!";
// 문자열 크지 출력
cout << "String Length : " << str.size() << endl;
return 0;
}
#include <iostream>
#include <vector>
int main() {
int arr[] = {1, 2, 3, 4, 5};
// 배열의 크기 계산
int size = sizeof(arr) / sizeof(arr[0]);
// 배열의 크기 계산
cout << "Array Size: " << size << endl;
return 0;
}
length() 함수
C++의 length() 함수는 주로 문자열 객체인 string 클래스에서 사용되며, 해당 문자열의 길이를 반환하는 역할을 합니다. length() 함수는 문자열의 실제 길이를 구하는 데 사용되며, null 문자를 포함하지 않는 문자열의 경우 문자열의 길이와 일치합니다.
length() 함수의 시간 복잡도는 O(N)입니다. 여기서 N은 문자열의 길이를 나타냅니다. 함수는 문자열의 모든 문자를 순회하며 각 문자를 세기 때문에, 문자열의 길이에 비례하는 시간이 소요됩니다.
length() 함수는 문자열 객체에 속하는 멤버 함수로 정의되어 있으며, 아래와 같은 형태로 사용됩니다.
string str = "Hello, World!";
int len = str.length();
length() 함수는 문자열의 길이를 반환하는 데에 특화되어 있으며, string 클래스에 종속적입니다. 일반적인 배열이나 다른 컨테이너에는 직접적으로 적용할 수 없습니다. 따라서 문자열 객체인 string을 다루는 경우에 유용하게 사용됩니다.
배열 원소의 길이 찾기
재미있는 예시로 배열의 각 원소의 길이를 찾는 예시입니다. 주어진 배열의 각 원소의 크기를 size() 할수를 이용해
계산해 answer 이란 벡터로 담아서 출력해봅니다.
입출력 예시는 다음돠 같습니다. 1번은 ["We", "are", "the", "world!"]의 각 원소의 길이인 [2, 3, 3, 6]을 return합니다. 따라서 ["I", "Love", "Programmers."]의 각 원소의 길이인 [1, 4, 12]을 return 해야 정답입니다.
strlist | result |
["We", "are", "the", "world!"] | [2, 3, 3, 6] |
["I", "Love", "Programmers."] | [1, 4, 12] |
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<string> list) {
vector<int> answer;
for(int i = 0; i < list.size(); i++) {
answer.push_back(list[i].size());
}
return answer;
}
[ 티스토리 ] 애드센스 하루 100명 방문자수 수익 공개
반응형
'Computer Science > Array & String' 카테고리의 다른 글
[C++] size_t와 int 차이점 (1) | 2024.01.30 |
---|