본문 바로가기

분류 전체보기

(700)
[Queue] ITES [1. 문제설명] [2. 코드]
[Stack] BRACKETS2 [1. 문제 설명] [2. 코드]
erase 계열 함수... [1. 개요]STL 컬렉션 들의 멤버 함수 erase() 의 리턴 값의 의미하는 바가 무엇인가?erase 의 입력으로 사용 된, 반복자의 다음위치를 가리키는 iterator 가 반환된다.[2. 예제]#include #include #include #include #include std::vector vec;std::list lst;std::map kv;std::unordered_set uos;void print_vec(){ std::cout "; auto itr1 = vec.erase(itr0); std::cout "; auto itr1 = lst.erase(itr0); std::cout first second "; auto itr1 = kv.erase(itr0); ..
[연결리스트] JOSEPHUS [1. 문제 설명]https://algospot.com/judge/problem/read/JOSEPHUS[2. 풀이 접근] [3. 코드]
[부분 합] CHRISTMAS [1. 문제 설명]https://www.algospot.com/judge/problem/read/CHRISTMAS[2. 풀이 접근] [3. 코드]
[인코딩] EUCKR [1. 개요]EUC-KR 인코딩 방식에 대해서 정리한다. EUC-KR 은 멀티바이트 형태의 문자 인코딩 방식이다.영문 및 특수문자는 1 byte한글 및 한자는        2 bytes첫번째 바이트의 값 범위에 따라서, 몇 바이트로 표현된 문자인지 확인 할 수 있다.0x00 ~ 0x7F : 1 byte0xA1 ~ 0xFE : 2 bytes  2 bytes 로 표현하는 경우는첫번째 바이트 값의 범위는 0xA1 ~ 0xFE 두번째 바이트 값의 범위는 0xA1 ~ 0xFE두 바이트 모두 값의 범위가 0xA1 ~ 0xFE  이 되야만 한다. [2. 예제]   [3. ref]https://i18nl10n.com/korean/euckr.html
[인코딩] UTF-8 [1. 개요]UTF-8 인코딩 방식에 대해서 정리한다. UTF-8 은 멀티바이트 형태의 문자 인코딩 방식이다.경우에 따라 문자 하나를 1바이트 혹은 2바이트, 3바이트 최대 4바이트로 인코딩 한다.첫번째 바이트의 bit 패턴을 통해서, 몇 바이트로 표현 된 문자인지 알 수 있다.첫번째 byte 의 bit 패턴이 다음과 같을 때,b0xxx_xxxx    => 1byteb110x_xxxx    => 2byteb1110_xxxx    => 3byteb1111_0xxx    => 4byte그리고 인코딩 된 바이트 수에 따라서 인코딩 패턴은 아래와 같다.1byte : b0xxx_xxxx2byte : b110x_xxxx, b10xxxxxx3byte : b1110_xxxx, b10xxxxxx, b10xxxxxx4by..
[파이썬] 텍스트 인코딩 및 디코딩 [1. 개요]특정 charset 으로 인코딩 된 byte stream 을 적절히 인코딩 및 디코딩 하는 방식 정리 [2. 배경지식]인코딩평문(문자) 을 정해진 규칙에 따라 값 으로 표현'A' => 0x41디코딩값을 정해진 규칙에 따라 평문(문자) 로 표현0x41 => 'A'인코딩 / 암호화디코딩 / 복호화[3. 예제]data = b'\xbc\xbc\xc1\xbe\xb4\xeb\xb7\xce'#data = bytes([0xbc, 0xbc, 0xc1, 0xbe, 0xb4, 0xeb, 0xb7, 0xce])# 혹은 위와 같이 작성 가능.try: print("decoding result", data.decode('utf-8'))except Exception as e: print("error", e)p..
multibyte string to widechar string [1. 개요]멀티바이트 형태의 문자열(UTF-8) 을 wide char 형태의 문자열(유니코드) 로 변환하는 방법 정리.[2. 오해]std::string 을 std::wstring 으로 변환하는 방법을 단순히 아래와 같은 방법으로 알고 있었는데, 아래 방법은 틀린 방법이다.std::wstring wstr(str.begin(), str.end());위 코드는 단순히 멀티바이트 형태의 string 의 내부 버퍼를 복사할 뿐이다.#include #include #include int main(){ const char * buf = "안녕하세요"; std::string str = buf; std::wstring wstr(str.begin(), str.end()); ..
iconv 함수 (인코딩 변환) [1. 개요]리눅스 C++ 코드 작성 시, 영어 외 문자열을 다루기 위해서 경우에 따라 인코딩 변환이 필요함.윈도우 OS 의 경우, 디폴트 인코딩이 EUC-KR리눅스 OS 의 경우, 디폴트 인코딩은 UTF-8가령 윈도우 에서 작성된 파일(한글로 작성된) 을 리눅스에서 읽어서 출력해야 하는 경우,,또, 윈도우에서 컴파일 할 경우 기본적으로 문자열을 EUC-KR 로 처리하고,리눅스에서 컴파일 할 경우는 문자열을 UTF-8 로 처리함.[2. 상황]리눅스 에서 아래 파일의 인코딩이 UTF-8 이 아닌 것을 확인.euc.cpp: text/x-c; charset=iso-8859-1이 파일의 작성된 한글 문자열은 출력 시 깨져서 나옴.## 반대로 아래와 같은 파일은 윈도우에서 컴파일 후 출력하면 한글 문자열이 깨져서..