[C++] string::erase *개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. _contents #1 string::erase #2 example #2.1 sequnce _ 특정 길이 만큼의 문자열 제거 #2.2 ch _ 특정 위치의 문자 제거 #2.3 range _ 특정 범위를 지정해 문자열 제거 #2.4 erase & find _ 특정 문자를 탐색하여 제거 #1 string::erase 헤더에 정의된 erase함수는 문자열에서 특정한 문자열을 제거해주는 기능을 수행하는 함수이다. erase 함수의 사용법은 3가지로 나뉜다. string& erase(size_t pos = 0, size_t len = npos); // pos부터 len 길이만큼 ..
#INFO 문제 : 신규 아이디 추천 난이도 : LEVEL1 출처 : 2021 KAKAO BLIND RECRUITMENT 코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 (programmers.co.kr) #SOLVE 해당 언어의 문자열 관련 함수에 대해 잘 알고 있으면 쉽게 풀이할 수 있는 문제였다. 문제에서 제시한 조건대로 차근차근 따라가면 어렵지 않게 풀어나갈 수 있지만,,,, 2단계와 3단계 처리에서 조금 애를 먹었다. // 2 단계 : new_id에서 "알파벳 소문자", "숫자", "빼기(-)", "밑줄(_)", "마침표(.)" // 를 제외한 모든 문자를 제거 _ islower, isdigit for(int i = 0; i < new_id.length(); ) { if (islower(n..
#INFO 문제 : 신고 결과 받기 난이도 : LEVEL1 출처 : 2022 KAKAO BLIND RECRUITMENT 코드 참고 : https://yjyoon-dev.github.io/kakao/2022/01/15/kakao-2022-blind-01/ 코딩테스트 연습 - 신고 결과 받기 | 프로그래머스 (programmers.co.kr) #SOLVE "Tokenizng(문자열 파싱)"과 "map 자료구조"에 대해 공부할 수 있는 좋은 문제였다. 문제 조건에서 주어진 solution 함수의 각 parameter를 분석해 보자면 다음과 같다. _about Tokenizing id_list : user의 id가 담긴 문자열 벡터이다. report : 각 user가 신고한 다른 user의 ID 정보가 담긴 문..
[C++] Tokenizing *개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. _contents #1 Tokenizing #2 find & substr function #3 split *공백을 기준으로 2개의 token 생성 *공백을 기준으로 3개 이상의 token 생성 #1 Tokenizing Tokenizing이란 Text를 delimiter(공백, 특수문자 등)을 기준으로 여러개의 Token으로 나누는 것을 의미한다. 그리고 이런 Tokenizing을 수행하는 것을 Tokenizer 이라고 하는데 대표적으로 split 함수가 있다. 하지만 JAVA, Python과 같은 언어들과는 달리 C++은 별도의 Tokenizer를 제공하지 않는다. 하지만 f..
[C++] islower & isupper & tolower & toupper *개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. _ref (ctype.h) - C++ Reference (cplusplus.com) _contents #1 islower & isupper #2 tolower & toupper #1 islower & isupper islower & isupper 함수는 입력받은 문자가 소문자인지 대문자인지 판별할 때 사용하는 함수이다. ASCII를 이용해 단순 범위 비교로 대소문자를 판별할 수 있지만, C/C++에서 제공하는 islower & isupper 함수를 사용하면 보다 깔끔하게 코드를 작성할 수 있다. header : C C++ * i..