대외교육/코딩테스트

[프로그래머스][C++ 코딩기초트레이닝]DAY3~DAY4

흑요석s 2023. 10. 1. 18:24

참고 자료(string클래스 정리) :https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=demonic3540&logNo=221309008493

 

 

<문자열 섞기>

 

1. 단순 for문 이용

#include <string>
#include <vector>

using namespace std;

string solution(string str1, string str2) {
    string answer = "";
    for (int i=0; i<str1.size(); i++){
        answer = answer + str1[i]+str2[i];
    }
    return answer;
}

 

2. push_back이용

 

#include <string>
#include <vector>

using namespace std;

string solution(string str1, string str2) {
    string answer = "";

    for(int i=0; i<str1.length(); i++)
    {
        answer.push_back(str1[i]);
        answer.push_back(str2[i]);
    }
    return answer;
}

 

push_back

- std::vector의 멤버 함수

- 끝에 요소를 추가할때 사용하는 함수

answer.push_back ('요소')

 

 

<더 크게 합치기>

#include <string>
#include <vector>

using namespace std;

int solution(int a, int b) {
    int answer = 0;
    string c1 = to_string(a) + to_string(b);
    string c2 = to_string(b) + to_string(a);
    (c1 < c2) ? answer = stoi(c2) : answer= stoi(c1);
    return answer;
}

 

to_string : int를 string 형태로 변환

 

stoi : string을 int로 변환

 

 문자로 된 숫자를 숫자로 변환 : sum += number[i] - '0';

 

c_str + atoi  :  string -> char* -> int