열심히 독학으로 영상도 보고 기초에 대해 직장을 다니며 약 3주 정도 독학 중이다.
영상을 보면 이해가 되는데 막상 무언갈 해보려하면 막막하고 코드 1줄을 쓰는 것 조차 어렵고 힘들었다.
그래서 더이상의 영상을 보고 강의에 따라가는 공부는 그만하고 프로그래머스
라는 사이트에서 제공하는 코딩테스트 Level1 문제들을 조금씩 천천히, 그리고 꾸준히 풀어보고자 한다.
String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
Kim은 반드시 seoul 안에 포함되어 있습니다.
seoul : ["Jane","Kim"]
return : "김서방은 1에 있다"
seoul에 인자 값으로 호출한 배열 안에 인덱스 값을 추출하여 return 하면 된다.
function solution(seoul) {
var answer = `김서방은 ${seoul.indexOf('Kim')}에 있다`;
return answer;
}
solution(['Jane','Kim','Jin','Pis']);요
indexOf
: string 객체를 호출 시 주어진 값과 일치하는 가장 첫번째 인덱스를 반환한다.내맘 대로 이해하기!
: 가장 첫번째 인덱스를 반환한다. 라는 말을 처음엔 헷갈렸는데 문자열에서 원하는 값을 찾고자 할때 사용하고, 그 값이 여러개 있을 시에 가장 첫번째 인덱스를 반환한다라고 이해하면 될 듯!사실 이 문제를 알게 된 것이 바닐라코딩
사전 학습 가이드에서 알게됬다.
근데 거기서 힌트를 준 것이 오히려 나를 더 혼란스럽게 만들었다.
아래 이미지를 보면 알 수 있듯이, 배열
과 반복문
을 응용하라고 써있어서 반복문?? 이라는 의문이 들었다. 그렇게 고민하다 그냥 내가 생각하는대로 답을 제출했고, 통과했다.
문제를 풀고 다른 분들의 풀이과정도 확인했는데, 나와 비슷하게 풀이하신 분이 있고, 바닐라코딩에서 힌트준 것과 같이 '반복문'을 활용해서 해결하신 분들도 보였다.
기초에서는 indexOf
메소드를 활용한 풀이를 할 수 없을 테니 반복문
을 활용해야한다는 힌트를 준것일까?
어떤 풀이든 해결이 됬다면 정답일 수 있다. 다만 어떤 것이 더 좋은 풀이 과정인지 알 수 있었으면 좋겠다.
한마디 더 붙이자면, 다른 분들은 함수명도 모두 findKim 으로 동일했다. 그 또한 신기했다..
힌트가 오히려 더 독이 되었군요.. ㅎㅎ 말씀하신 것처럼 indexOf는 초보자 분들이 모를 수도 있고, 기본적인 문법의 응용법을 훈련하는 맥락에서 반복문을 사용해보시라고 적어놓은거에요 :)
사람마다 푸는 방법은 다양할 수 있으니, 다른 분들의 답안이나 힌트에 얽매이지 마시고 자유롭게 문제를 해결해보세요! 화이팅 🔥