글 작성자: 개발자 올라프

Assignment

 

1. sliceCityFromAddress 함수는 address를 인자로 받는다.

 

2. address는 주소를 나타내는 string이다.

 

3. 주어진 주소가 어느 도시 인지를 찾아 해당 주소에서 도시 부분만 삭제한 새로운 주소를 return한다.

 

4. 도시는 무조건 "시"로 끝난다. ex) "서울시"

 

5. "도"와 "시"는 주소에 한 번만 포함되어 있다.

 

 


 

My code

 

function sliceCityFromAddress(address) {
	let findDo = address.indexOf("도");
    let findCity = address.indexOf("시");
    
    if(findDo !== -1 && findCity !== -1) { // 주소에 "도", "시"가 모두 있는 경우
    	return address.slice(0, findDo+1) + address.slice(findCity+1);
    } else if(findDo === -1 && findCity !== -1) { // 주소에 "도"는 없고, "시"만 있는 경우
    	return address.slice(findCity+2);
    } else {
    	return address;
    }
}

 

중요 부분

 

indexOf 메서드는 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환한다.

 

slice는 추출을 종료할 인덱스는 포함하지 않는다는 점으로 어느 부분부터 어디까지 잘라야 하는지 잘 생각해봐야 한다.