본문 바로가기

(궁금) 8. 코플릿_자바스크립트) 반복문 _ 중복된 문자 boolean 타입으로 리턴하기 🤍

(궁금) 8. 코플릿_자바스크립트) 반복문 _ 중복된 문자 boolean 타입으로 리턴하기 🤍
내 코드 Reference
function hasRepeatedCharacter(str) {

if (str === "") {
return false;
}

for( i = 0 ; i < str.length ; i++ ){ //4 글자면 3번 반복
for( j=i+1 ; j < str.length ; j++ ){
if( str[i] === str [j] ) {
return true;
} else {
return false;
}
}
}
}
function hasRepeatedCharacter(str) {

for (let i = 0; i < str.length - 1; i++) {
for (let j = i + 1; j < str.length; j++) {
if (str[i] === str[j]) {
return true;
}
}
}
return false;
}
// 입력: 'codestates', 'abcdefg'
// 출력: true, false
function hasRepeatedCharacter(str) {
  // 첫번째문자, 두번째 문자 비교
  // 첫번째문자, 세번째 문자 비교
  // ...
  // 첫번째문자, 마지막 문자
  // 두번째문자, 세번째문자
  // ...
  // 마지막 전문자, 마지막문자
  for(let i = 0; i < str.length - 1; i++) {
    // j의 시작점은 항상 i보다 하나 뒤
    for (let j = i + 1; j < str.length; j++) {
      if( str[i] === str[j]) {
        return true;
      }
    }
  }
  return false;
}
 
return false; 위치 선정이 궁금
 
->  왜 안될까?
 
 

-> 크롬 디버깅을 써봤다. 내 생각에는..... 첫번째 자리 문자열과 두번째 자리 문자열을 비교하고, 만약 이 둘이 같지 않으면 바로 false를 return 하는 것으로 추측이 된다. 해당 코드는 'codestates'는 false가 되고, (원래는 true) 'cocdestates'는 true로 뱉는다. 


 

728x90
⬆︎