<aside> 💡 객체의 속성값 조회

function getProperty(obj, property) {

// property 변수를 받아서 쓰기 때문에 문자열로 받지 않는 bracket사용

return obj[property];

}

</aside>

내 풀이

13. printObject

문제
객체를 입력받아 키, 값 쌍을 표현하는 문자열을 리턴해야 합니다.
각 문자열은 한 줄에 키: 값 형태로 구성되며, 각 문자열 끝에는 줄바꿈 문자가 포함되어야 합니다.

입력
인자 1 : obj
임의의 속성을 갖는 객체
출력
string 타입을 리턴해야 합니다.
주의 사항
콜론 다음에 공백을 포함해야 합니다.
각 문자열 끝에 줄바꿈 문자를 포함해야 합니다.
입출력 예시
const obj = { name: 'Steve', age: 13, gender: 'Male' };
let output = printObject(obj);
console.log(output); // -->
/*
name: Steve
age: 13
gender: Male
*/
힌트
줄바꿈 문자는 \\n로 표현됩니다. hello\\nworld\\n 의 출력은 다음과 같습니다.
hello
world

내 풀이

function printObject(obj) {

  //result에 문자열에 넣어서 1)개행문자 작동 2)한꺼번에 리턴
  //주의 : return한번만 해도 바로 끝남
  let result = '';
  for(key in obj){ 
   result = result+ key + ': ' + obj[key] + "\\n";
  }
  return result;
}

실행 결과
테스트 결과가 없습니다.

20. countAllCharacters

문제
문자열을 입력받아 문자열을 구성하는 각 문자(letter)를 키로 갖는 객체를 리턴해야 합니다.
각 키의 값은 해당 문자가 문자열에서 등장하는 횟수를 의미하는 number 타입의 값이어야 합니다.

입력
인자 1 : str
string 타입의 공백이 없는 문자열

출력
각 문자를 키로 갖는 객체를 리턴해야 합니다.
주의 사항
빈 문자열을 입력받은 경우, 빈 객체를 리턴해야 합니다.

입출력 예시
let output = countAllCharacters('banana');
console.log(output); // --> {b: 1, a: 3, n: 2}

내 풀이

function countAllCharacters(str) {
  // 문자열 for 반복문 
  //for of, for in, in 
  // 처음 등장 : 키값 =1 
  // 두번째부터는 : 키값 ++; 
  let obj= {};
  for(s of str){ 
    if( s in obj){ 
      obj[s]++;
    }else{ 
      obj[s] = 1;
    }
  }
  return obj;
}

21. mostFrequentCharacter

21. mostFrequentCharacter
문제
문자열을 입력받아 가장 많이 반복되는 문자(letter)를 리턴해야 합니다.

입력
인자 1 : str
string 타입의 공백이 있는 문장
출력
string 타입을 리턴해야 합니다.
주의 사항
띄어쓰기는 제외합니다.
가장 많이 반복되는 문자가 다수일 경우, 가장 먼저 해당 횟수에 도달한 문자를 리턴해야 합니다.
빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다.
입출력 예시
let output = mostFrequentCharacter('apples not oranges');
console.log(output); // --> 'p'

output = mostFrequentCharacter('hello world');
console.log(output); // --> 'l'

output = mostFrequentCharacter('   ');
console.log(output); // --> ''

output = mostFrequentCharacter('');
console.log(output); // --> ''

output = mostFrequentCharacter('abba');
console.log(output); // --> 'b'

내 풀이

function mostFrequentCharacter(str) {

  //문자열 반복문 for of 
  //문자 등장 시 key = 1; 
  //이후 : +1
  //값이 가장 큰 키를 리턴
  let obj={};
  let maxCount=0; 
  let frequentChar='';
  
  if(str === ''){ 
    return '';
  }
  //빈 문자열 예외 

  for(let s of str){ 
    if(s !== ' '){ 
      //띄어쓰기 제외
      if(!(s in obj)){ 
        obj[s]=1;
        //처음 등장 경우 먼저
      }else{ 
        // 두번째부터 세는데
        obj[s]++; 
        if(obj[s]>maxCount){ 
          //s마다 바로바로 max와 비교
          // >= 아니니까 먼저 도달한 문자 리턴
          frequentChar = s; 
          maxCount = obj[s];
        }
      }
    }
  } 
  return frequentChar;

}