728x90
반응형

문자열 2

C++ 문자열 관련 함수, 알고리즘 모음 (코테 준비)

C++은 자바 파이썬에 비해 문자열처리가 아무래도 좀 약하다.. 문제를 풀면서 자주 썼고 쓸만한 함수와 알고리즘을 모아두려 한다. (계속 추가 예정) 1. 공백 or 특정 문자 제거하기 단순히 공백을 제거하는 방법 c++ remove 함수는 요소를 삭제하지만, 삭제된 개수만큼 길이가 줄어드지 않는다. 즉 뒤의 요소를 하나씩 이동시키는 방식이다. 따라서, remove로 특정 문자를 제거해준뒤, erase로 비어있는 공간을 삭제해주면 된다. str.erase(remove(str.begin(), str.end(), ' '), str.end()); 2. char 숫자 int 로 빠르게 변환 '0' 을 빼주는 방식으로 구현하면 빠르게 변환이 가능하다! string str = "51" int k = str[0] -..

Language/C++ 2022.09.20

[BOJ] 백준 1764 듣보잡 c++ (문자열, map, unordered_map)

문제 출처 : https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 풀이 브루스포스로 해결하면 시간 초과가 발생한다. map을 이용해서 듣도 못한 사람을 저장하고, 보도 못한 사람을 해당 map에서 찾아 있는 경우 vector에 추가 해주었다. sort 함수를 사용해 사전순으로 출력하였다. (sort를 사용하려면 algorithm 헤더 파일을 선언해주어야 한다!) 이분탐색(binary_search)을 활용해 겹치는 사람을 찾는 방법도 있다. 아래 ..

Tech/Algorithm 2021.12.22
728x90
반응형