호다닥

프로그래머스 알고리즘 연습 Level1 서울에서 김서방 찾기 본문

기타

프로그래머스 알고리즘 연습 Level1 서울에서 김서방 찾기

3jun 2018. 7. 1. 11:31

문제

 

 

 

풀이

 

 

 

indexOf()

호출한 String 객체에서 특정 값과 처음으로 일치하는 인덱스를 반환한다. 일치하는 값이 없으면 -1을 반환한다.

 

Syntax

str.indexOf(searchValue[, fromIndex])

searchValue : 찾고자 하는 문자열을 의미한다.

fromIndex : 검색을 시작할 index를 의미한다. 옵션이고, 기본값은 0이다.

 

index는 string이 호출되기 시작하는 값을 return한다.

 

 

'Blue Whale'.indexOf('Blue');     // returns  0 'Blue Whale'.indexOf('Blute');    // returns -1 'Blue Whale'.indexOf('Whale', 0); // returns  5 'Blue Whale'.indexOf('Whale', 5); // returns  5 'Blue Whale'.indexOf('Whale', 7); // returns -1 'Blue Whale'.indexOf('');         // returns  0 'Blue Whale'.indexOf('', 9);      // returns  9 'Blue Whale'.indexOf('', 10);     // returns 10 'Blue Whale'.indexOf('', 11);     // returns 10

2번째 줄은 해당 일치하는 값이 없기 때문에 -1을 출력한다.

3번째 줄은 index 0부터 Whale 값을 찾기 시작하여 index 5부터 whale string이 일치하기 때문에 5를 return한다.

4번째 줄은 index 0부터 Whale 값을 찾기 시작하지만 index값이 fromIndex값인 5 이상이어야만 한다. 

아래 예시를 통해 좀더 쉽게 이해할 수 있다. 

var text = "hello world"; alert(text.indexOf("o", 6)) // 7

5번째 줄은 searchElement가 index 7보다 큰 값에서는 찾을 수 없기 때문에 -1이 출력된다.

 

str.length는 1부터 값이 시작하고, index 값은 0부터 시작한다.

 

 

fromindex가 0인 경우 

var array = [2, 9, 9]; array.indexOf(2);     // 0 array.indexOf(7);     // -1 array.indexOf(9, 2);  // 2 array.indexOf(2, -1); // -1 array.indexOf(2, -3); // 0

4번째줄은 searchElement값이 2인데, index -1 인 마지막 숫자 9부터 오른쪽으로 해당 searchElement값과 일치하는 값을 찾을 수 없기 때문에 -1을 return된다. 

5번째 줄 역시  searchElement값이 2인데, index -3 인 첫번째 숫자 2부터 오른쪽으로 해당 searchElement값을 찾게 되는데, index 0이 해당 seachElement 값과 일치하기 때문에 0이 return된다.

Comments