공부/알고리즘&자료구조

항해99 문제18번풀이 (서울에서 김서방 찾기,프로그래머스)

youngble 2021. 11. 10. 00:40

https://programmers.co.kr/learn/courses/30/lessons/12919

 

코딩테스트 연습 - 서울에서 김서방 찾기

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

programmers.co.kr

 

내가 푼 방법:

 

접근법

Kim 이라는 문자열을 찾는 것을 봤을때 바로 정규표현식을 생각했고 K 는 대문자 이기때문에 대소문자를 구분하는 걸 넣어야겠다고 생각.

match 메서드를 써서 동일한 값이 있는지 알아보면 된다고 생각했다. 그리고 일정한 텍스트에 n번째에 김서방이 있다 를 출력한다는것을 보고 백틱 `` 을 사용해서 jquery 방식이 ${}을 써야겠다고 생각함

코드 해석

3줄. 찾을 문자의 정규표현식 /Kim/g 를 넣어줬다. 이때 i 를 쓰지 않았기때문에 대소문자를 구분하기로 설정됨

6~8줄. 입력한 문자열중에 i번째 인덱스 Kim 이라는 문자열이 있어서 /Kim/g 와 대응 되게 match를 이용하였고 만약 match 된다면 seoul[i]는 null 아니기때문에 != 을 써서 Kim 을 가지고있을때 그 인덱스 i번째에 해당하는 것을 `` 백틱과 ${i} 를 사용하여 출력하게 함