Javascript 연습문제 _ 반복문

이성은·2022년 10월 28일
0

문제 19.

  • 문자열을 입력받아 해당 문자열에 등장하는 각 문자(letter)를 가지고 만들 수 있는 길이 2의 문자열들을 리턴해야 합니다.

입력

  • 인자 1 : str
    • string 타입의 문자열

출력

  • string 타입을 리턴해야 합니다.
  • 입력받은 문자열의 각 문자를 0, 1, 2, ..., n이라고 할 경우, 00,01,02,...,nn 형식으로 리턴해야 합니다.

주의 사항

  • 이중 반복문(double for loop)을 사용해야 합니다.
  • 빈 문자열을 입력받은 경우에는 빈 문자열을 리턴해야 합니다.

function makePermutations(str) {
  let result = '';
  for (let left = 0; left < str.length; left++) {
    for (let right = 0; right < str.length; right++) {
      result = result + `${str[left]}${str[right]},`;
    }
  }

  return result.slice(0, result.length - 1);
}

문제 20.

  • 문자열을 입력받아 해당 문자열에 중복된 문자(letter)가 존재하는지 여부를 리턴해야 합니다.

입력

  • 인자 1 : str
    • string 타입의 문자열

출력

  • boolean 타입을 리턴해야 합니다.

주의 사항

  • 이중 반복문(double for loop)을 사용해야 합니다.
  • 빈 문자열을 입력받은 경우에는 false을 리턴해야 합니다.

//내가 쓴답=> 성공
function hasRepeatedCharacter(str) {
  // 문자열을 입력받아 해당 문자열에 중복된 문자(letter)가 존재하는지 여부
  //boolean 타입을 리턴
  // 'codestates'
  //c o 비교
  //o d비교

   for (let i = 0; i < str.length ; i++) {
     for (let j = i + 1; j < str.length; j++){
      if (str[i] === str[j]){
        return true;
      } //j는 i 다음꺼부터 비교,j=0이면 무조건 i랑같아서 true

}
}
return false;
}

//Reference Code
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;
}
profile
함께 일하는 프론트엔드 개발자 이성은입니다🐥

0개의 댓글