반응형
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string solution(string str1, string str2) {
string answer = "";
for(int i=0; i<str1.length(); i++){
answer += str1[i];
answer += str2[i];
}
return answer;
}
이 코드와
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string solution(string str1, string str2) {
string answer = "";
for(int i=0; i<str1.length(); i++){
answer += str1[i] + str2[i];
}
return answer;
}
이 두개 코드의 차이점을 솔직히 잘 모르겠다 왜..안될까..
1번째는 각 스트링에서 배열값으로 문자를 1개씩 차례대로 answer에 넣는건 알겠다 1번이 답이니까
근데 2번째 코드도 str1과 str2의 각 원소를 더해서 answer에다가 2개씩 집어넣는것 아닌가?..
라고 생각했지만 문자열끼리 더해버리면 아스키코드의 값으로 더해버린다고한다. 그래서 코드에 오류가 나고 더해지지않은것. 중요한거 배웠다ㅎㅎ
결국 1번쨰는 문자를 1개씩 넣어서 문자열을 만들어가는거고
2번째는 문자끼리 더해버려서 아스키코드의 값으로 변환되어 다른 문자로 변해버린다.
반응형
'프로그래머스(코딩테스트 연습)' 카테고리의 다른 글
프로그래머스 문자열 곱하기 C++ (0) | 2023.09.22 |
---|---|
프로그래머스 문자 리스트를 문자열로 변환하기 C++ (0) | 2023.09.22 |
프로그래머스 추억점수 C++ (0) | 2023.09.16 |
프로그래머스 달리기 경주 C++ (0) | 2023.09.12 |
홀짝 구분하기 (0) | 2023.07.13 |