반응형

문자열 4

[백준 5052] 전화번호 목록 C++

문제 백준 5052 전화번호 목록 C++ 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net 풀이 트라이나 정렬을 이용합니다 1) 정렬로 풀이 1. 문자열을 모두 입력 받은 후 오름차순 정렬합니다. -> 문자열 순서가 작은 것이 앞으로 오고, 순서가 같다면 string 길이가 더 작은 것이 앞으로 옵니다. 2. i번째 문자열이 i+1문자열의 앞과 똑같다면 일관성이 없으므로 루프를 중단하고 NO를 출력합니다. 3. N-1번째 문자열까지 똑같지 않다면 일관성이 있으므로 YES를 출력합니다. 소..

알고리즘/백준 2021.11.27

sstream을 사용하여 문자열 split 하기 (C++)

개요 C++을 사용하여 문자열을 입력받았을 때, 구분자로 나눠주기 밑의 코드는 구분자가 ' '(공백)일 때의 예시이다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include #include #include using namespace std; int main() { string str= ""; istringstream ss(str); string stringBuffer; vector v; v.clear(); //구분자가 , 이라면 getline(ss, stringBuffer, ',')쓰면됨 while (getline(ss, stringBuffer, ' ')) { v.push_back(stringBuffer);..

언어/C++ 2021.11.21

[백준 5430] AC (C++)

문제 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 입력이 단순 숫자가 아니라 문자열 형태로 들어오기 때문에 그것 또한 고려해줘야 했습니다. 명령은 뒤집기 R과 맨 앞 삭제하기 D가 있는데 R일 때 실제로 배열을 뒤집어 버리면 시간 초과가 납니다. 방향을 체크하는 변수를 만들어주고, 변수를 통해 명령어를 처리해줘야 합니다. 먼저 문자열을 입력받고, 숫자만 dq에 push해줍니다. 현재 방향을 확인하여, R입력을 받으면 상태를 전환해줍니다. D입력을 받으면 방향이 거꾸로일 때는 뒤에서 삭제, 정..

알고리즘/백준 2021.08.29
반응형