728x90
반응형
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
문제를 바로 이해하지 못했다. 오랜만에 프로그래머스를 풀었더니 감떨어진게 확실하다.
x에는 인덱스 값이 들어가야 하는 것이다.
문제가 있다면 저 문자열의 가운데 있는 숫자에 값을 넣어주어야하는데, 어떻게 넣을 것인가 고민이 되었다.
printf( "김서방은 %d에 있다", i);
이런 느낌으로 넣을 수 있었으면 했는데 c++에서, return해야할 때는 어떻게 해야할 것인가. 고민이 많았고,
역시 이 부분은 오리지널 c++의 기능적인 부분을 알아야 해결할 수 있는 문제라 판단했다.
그래서 중간에 정수를 삽입하여 출력할 수 있는 방법을 검색했고,
"출력할 문자"+값+"출력할 문자"
이런 형식으로 출력하면 된다는 것을 알 수 있었다.
하지만 가운데에 출력할 숫자값은 문자가 아닌 정수이기 때문에 to_string()으로 한번 묶어줘야했다.
그렇게 완성한 풀이..
#include <string>
#include <vector>
using namespace std;
string solution(vector<string> seoul) {
string answer = "";
for(int i = 0; i < seoul.size(); i++){
if(seoul[i] == "Kim"){
answer += "김서방은 "+to_string(i)+"에 있다";
}
}
return answer;
}
728x90
반응형
'프로그래머스 C++ > Level.1' 카테고리의 다른 글
프로그래머스 Level.1 음양 더하기 (0) | 2023.11.12 |
---|---|
프로그래머스 Level.1 콜라츠 추측 (0) | 2023.10.21 |
프로그래머스 Level1. 두 정수 사이의 합 (0) | 2023.08.30 |
프로그래머스 Level.1 하샤드 수 (0) | 2023.08.21 |
프로그래머스 Level1. 정수 내림차순으로 배치하기 (0) | 2023.08.20 |