본문 바로가기
Computer Science/Array & String

[ C++ ] size()와 length() 함수 차이점

by 기억보다 기록을 2023. 5. 24.
반응형

 

[ 티스토리 ] 애드센스 하루 100명 방문자수 수익 공개

 

[ 티스토리 ] 애드센스 하루 100명 방문자수 수익 공개

티스토리 시작하기 2023년 3월부터 기억보다 기록하는 마음으로 공부하면서 배운 내용들 바탕으로 개발&기술 블로그를 시작하게 되었습니다. 공부하면서 나온 꿀팀이나 중요한 내용들 담아서 나

prmblogs.tistory.com

 


 

 

c++

 

 

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명 방문자수 수익 공개

 

[ 티스토리 ] 애드센스 하루 100명 방문자수 수익 공개

티스토리 시작하기 2023년 3월부터 기억보다 기록하는 마음으로 공부하면서 배운 내용들 바탕으로 개발&기술 블로그를 시작하게 되었습니다. 공부하면서 나온 꿀팀이나 중요한 내용들 담아서 나

prmblogs.tistory.com

 

 

c++

반응형

'Computer Science > Array & String' 카테고리의 다른 글

[C++] size_t와 int 차이점  (1) 2024.01.30