substr(pos,count)
문자열의 일부를 return
pos번째 문자부터 count 길이 만큼의 문자열을 반환
count가 null이면 끝까지 반환
map<string,int> pb;
for(int i=0;i<phone_book.size();i++)
{
for(int j=0;j<phone_book[i].size()-1;j++)
{
// preNum은 phone_book[i]의 0번째 문자부터 j+1개 만큼의 문자를 string으로 반환
string preNum=phone_book[i].substr(0,j+1);
if(pb[preNum])
answer = false;
}
}
#include < sstream >
stringstream ss(문자열)
문자열에서 문자열과 숫자를 추출
for(int i=0;i<operations.size();i++)
{
// stringstream 객체 ss 생성 및 초기화
stringstream ss(operations[i]);
string op;
int num;
// ss에서 string은 op로 int는 num으로 할당
ss >> op >> num;
if(op=="I")
{
//...
}
//...
}
문자열 -> 숫자
int num=stoi("1234") //1234
숫자 -> 문자열
to_string(111) // "111"
// 이 함수에서 길이 나누는 것은 의미가 없음
bool compare(int a, int b)
{
string num1 = to_string(a) + to_string(b);
string num2 = to_string(b) + to_string(a);
return num1 > num2;
}
sort(numbers.begin(), numbers.end(), compare);
string num="";
for (int num : numbers)
{
answer += to_string(num);
}
문자열은 앞자리부터 비교
"4321" > "1234"
"4321" < "7"