sliceCityFromAddress 함수는 address 를 인자로 받습니다.
address 는 주소를 나타내는 string 입니다.
주어진 주소에서 도시를 찾아 삭제하고 새로운 주소를 리턴해 주세요.
도시는 무조건 ‘시’로 끝납니다. 예) “서울특별시”, “성남시”
‘시’는 주소에 한번만 포함되어 있습니다.
예)
입력받은 주소:"경기도 성남시 분당구 중앙공원로 53"
리턴된 주소:"경기도 분당구 중앙공원로 53"
기준
을 잡는다기준
을 중심으로 왼쪽으로 위치를 이동하며 공백" "을 찾는다기준
이 포함된 단어를 제외하고 / 그 앞문장, 뒷문장을 합쳐서 반환한다기준
을 중심으로 왼쪽으로 위치를 이동하며 공백이 없어 위치값이 0보다 작은 경우를 찾는다기준
이 포함된 단어를 제외하고 / 그 뒷문장만 반환한다function sliceCityFromAddress(address) {
let standard = address.indexOf("시 "); // 4
let cutEnd; //첫번째 문장의 자를 끝부분
for(let x=1; x<address.length-1; x++){
// "시 "위치부터 왼쪽으로 위치 이동하며 매칭되는 글자를 확인
if(address.charAt(standard-x) === " "){
// 해당 위치의 글자가 " "이라면
cutEnd = standard-x;
// 첫번째 문장의 자를 끝부분에 그 위치를 할당합니다
return address.slice(0, cutEnd) +" "+ address.slice(standard+2, address.length);
// 첫문장과 마지막 문장을 합쳐서 반환합니다
}else if(standard-x < 0){
// 위치가 -1일 때
return address.slice(standard+2, address.length);
//"시 " 기준으로 뒷문장만 반환합니다
}
}
}
let myAddress1 = "경기도 성남시 분당구 중앙공원로 53";
console.log(sliceCityFromAddress(myAddress1));
let myAddress2 = "서울특별시 강남구 테헤란로 427";
console.log(sliceCityFromAddress(myAddress2));
charAt()
: 숫자를 받아 숫자(위치)에 해당하는 '글자'를 반환하는 함수let myString = "우리나라 만세";
console.log(myString.charAt(3)); // "라"
slice()
: 텍스트를 잘라주는 함수
indexOf()
: 문자열에 특정 문자열이 들어있는지 확인하고, 만약 있다면 몇번 째 순서에 해당 문자열이 있는지 알려 줍니다.