투케이2K

31. (C++) map 생성 및 find 사용해 map 에 key 포함 여부 확인 실시 본문

C++

31. (C++) map 생성 및 find 사용해 map 에 key 포함 여부 확인 실시

투케이2K 2023. 3. 5. 10:29

[개발 환경 설정]

개발 언어 : C++

 

[소스 코드]

// -----------------------------------------------------------------------------------------
//
// Created by KGH on 2023-02-12.
//
// -----------------------------------------------------------------------------------------





// -----------------------------------------------------------------------------------------
// TODO [헤더 파일 import]

#include "Test.h"
#include <android/log.h>
// -----------------------------------------------------------------------------------------





// -----------------------------------------------------------------------------------------
// TODO [include 및 define 문 정의]
#include <iostream>
#include <string>
#include <map>
using namespace std;
// -----------------------------------------------------------------------------------------





// -----------------------------------------------------------------------------------------
// TODO [구현부 소스 코드 작성]
int main(void)
{

    /**
     * ------------------------------------
     * [요약 설명]
     * ------------------------------------
     * 1. map : 각 노드가 key 와 value 쌍으로 이루어진 트리입니다
     * ------------------------------------
     * 2. 로직 : find 사용해 해당 key 를 끝까지 찾지 못했을 경우, iterator는 map.end()를 반환합니다
     * ------------------------------------
     * */


    // [map 선언 실시]
    map<string, int> m;


    // [insert 사용해 데이터 삽입 실시]
    m.insert({"TWOK", 29});
    m.insert({"투케이", 30});


    // [find 사용해 특정 key 포함 확인]
    if (m.find("TWOK") != m.end()) {

        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
        __android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[TWOK] :: %s", "key 포함됨");
        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
    }
    else {

        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
        __android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[TWOK] :: %s", "key 없음");
        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");

    }


    // [find 사용해 특정 key 포함 확인]
    if (m.find("2K") != m.end()) {

        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
        __android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[2K] :: %s", "key 포함됨");
        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
    }
    else {

        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
        __android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[2K] :: %s", "key 없음");
        __android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");

    }


    return 0;
}
// --------------------------------------------------------------------------------------
 

[결과 출력]

 

W/[C++] [LOG]: =====================================================
I/[C++] [LOG]: [TWOK] :: key 포함됨
W/[C++] [LOG]: =====================================================
W/[C++] [LOG]: =====================================================
I/[C++] [LOG]: [2K] :: key 없음
W/[C++] [LOG]: =====================================================

반응형
Comments