[프로그래머스] 코테_day 2

jiyunssu·2022년 9월 4일
0

코딩테스트

목록 보기
3/9

문제 설명

String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.

제한 사항

seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.

입출력 예

seoul return
["Jane", "Kim"] "김서방은 1에 있다"

내 풀이법

seoul 배열에서 "Kim" 요소 위치 찾기
'김서방은 _에 있다' 멘트와 함께 반환하기
indexOf 활용해야게따

function solution(seoul) {
let answer = seoul.indexOf("kim");
return 김서방은 ${answer}에 있다.;
}

실행 결과 〉 실행한 결괏값 "김서방은 -1에 있다."이 기댓값 "김서방은 1에 있다"과 다릅니다.

..
-1로 나온다는 건 반환값이 없다는거라서 문제에 있는 영어를 내 코드에 복붙했다
kim을 소문자로 쓴 걸 발견!

function solution(seoul) {
let answer = seoul.indexOf("Kim");
return 김서방은 ${answer}에 있다.;
}

실행한 결괏값 "김서방은 1에 있다."이 기댓값 "김서방은 1에 있다"과 다릅니다.

대문자로 바꿔도 소용없다
indexOf 값이 숫자형으로 받아져서 그런듯

근데 String, toString 다 쓰고 뭔 난리를 쳐도 계속 틀렸다하길래 또 내 코드를 계속 봤다.
나는 . 찍어서 틀린거였다
진짜 .................................................. 퓌발.........

암튼 내 최종답은 이거

function solution(seoul) {
var idx = seoul.indexOf('Kim');
return 김서방은 ${idx}에 있다;
}

다른 방법 답안

function findKim(seoul){
var idx = 0;
//함수를 완성하세요
for (var i = 0; i < seoul.length; ++i)
{
if (seoul[i] == "Kim")
{
idx = i;
break;
}
}
return "김서방은 " + idx + "에 있다";
}

0개의 댓글