문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한사항
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoul | return | ||
["Jane", "Kim"] | "김서방은 1에 있다." |
문제 풀이
풀이 언어 : C++
#include <string>
#include <vector>
using namespace std;
string solution(vector<string> seoul) {
string answer = "";
int index=0; // 인덱스 선언
// "Kim"이 있는 위치 찾기
while(seoul[index]!="Kim")
{
index++; // 인덱스 증가
}
// 반환값 만들기
answer="김서방은 "+to_string(index)+"에 있다";
return answer;
}
while문을 이용해서 seoul 배열에서 "Kim"이 나올 때까지 index를 증가 시킨다. "Kim"이 나오는 순간 while문을 빠져나오면 index는 "Kim"이 있는 seoul의 index를 담게 되고 return할 string 형식에 맞춰 answer를 만들어준다. 이 때 index는 int형 변수이기 때문에 to_string() 함수를 이용해 형변환 해준다.
오답 노트
to_string 함수 없이 자동 형변환을 기대하고 그냥 적었다가 오류가 발생하였다.
to_string 함수 사용할 때 C#에서 쓰던 함수 ToString() 함수랑 헷갈려서 index.to_string()으로 적어서 잘못 사용하였다.
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12919
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'Code KATA > 알고리즘 코드카타' 카테고리의 다른 글
[2024.12.27] 음양 더하기 (0) | 2024.12.27 |
---|---|
[2024.12.26] 나누어 떨어지는 숫자 배열 (0) | 2024.12.26 |
[2024.12.24] 콜라츠 추측 (0) | 2024.12.24 |
[2024.12.23] 두 정수 사이의 합 (0) | 2024.12.23 |
[2024.12.22] 하샤드 수 (0) | 2024.12.23 |