본문 바로가기

공백3

[백준 7785/javascript] 회사에 있는 사람 조건의 연산이 많으므로 최대한 간단하게 만들어서 비교해야 하는문제이다 enter leave 의 체크도 연산 낭비이니 객체로 카운트하여 변하였다면 나간것으로 보면 된다 비교시에도 0과 비교하는 것이 빠르므로 0인지를 확인하도록 한다 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net let input = []; const readline = require("readline").createInterface({ i.. 2022. 10. 28.
split 으로 나눌때 공백이 두 개 이상일 경우 문자열의 앞 뒤로 공백이 여러개라면 trim() 을 쓰면 앞 뒤로 공백이 1개던 5개던 모두 사라진다 하지만 str = ' 사자 곰 호랑이 코알라 뱀 돼지 ' 라는 문자열을 공백을 제거하여 나누어서 배열에 담으려 할때 단순히 앞 뒤로 공백을 제거하자 하고 다음처럼 arr = str.trim().split(' '); // arr = [사자,곰,,호랑이,,,코알라,,,,,뱀,,,,,,,,,,,,,,,,,,돼지] error야 꺄악! 나누면 에러가 생긴다. 각 요소들 사이의 공백도 구분자로 인식하게 되어 공백을 요소로 인식해서 생기는 문제이다 이럴땐 요소간의 공백이 여러개여도 무시할 수 있도록 정규표현식을 사용하면 된다 아직 정규표현식을 배우진 않았지만 자주 쓰일것 같으니 일단 외워서 쓰며 익숙해지자 사용법은 .. 2022. 8. 12.
stringstream 문자열 입력 버퍼, 자료형이 섞인 string 을 다룰때 사용 strigstream 은 여러 자료형이 섞여있는 string 을 입력 받을 때에 필요한 자료형에 맞는 데이터를 꺼낼때 유용하다 다음은 stringstream 을 사용해서 입력된 string 에서 공백 단위로 잘라 벡터에 푸쉬, 인덱스 추가 하는 문제이다 ' : ' 기호를 공백으로 바꾸어 stringstream 버퍼에 저장된 입력 데이터 가공하고 공백을 통해 분리해서 분리된 입력 요소를 num으로 받아 로 벡터에 push_back하여 저장하고, 인덱스로 꺼내 쓸 수 있다 #include using namespace std; int main(){ vector time; string clock="2022:06:22 15:15:30"; for(int i=0; i>num){ time.push_back(num); .. 2022. 6. 22.