Code KATA/알고리즘 코드카타

[2024.12.25] 서울에서 김서방 찾기

iiblueblue 2024. 12. 26. 10:45

문제 설명

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