2021_03_31

유지원·2021년 3월 31일
0
post-thumbnail

TIL - HA 문제 복습

[Test 3]

문제) 수를 입력받아 각 자리의 수를 곱한 결과물들이 한자리 수가 될 때까지 반복적으로 곱한 후 최후의 한 자리 수를 리턴한다.

입출력)

let output = test3(786);
console.log(output); // --> 0

수도코드)

// 수를 문자열 형태로 변환한다. -> String(num)
// newnum의 길이만큼 반복문을 실행한다.
// 반복문 안에서 newnum의 각 요소를 mul 이라는 변수에 곱한다.
// 반복문이 끝나고 만약 mul의 길이가 1이 아니라면 mul을 전달인자로 Test 함수를 실행한다. -> 재귀형태
// 그렇지않아면 mul을 리턴한다.

[Test 4]

문제) 사원들의 정보를 배열로 입력받아 HTML 옐리먼트의 형턔로 변형해서 ul#container에 append 한다. 단, a 요소로 만들어진 사원의 이름을 클릭할 경우, 제공되는 printRole 함수가 실행되어 해당 사원의 role이 콘솔에 출력되어야 한다.

입출력)

let list = [
  { firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk' },
  { firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager' },
];
test4(list);
// --> 'ul#container'가 아래와 같이 변경되어야 한다.
<ul id="container">
  <li>
    <a class="name">Joe Blow</a>
    <div class="age">42</div>
  </li>
  <li>
    <a class="name">Mary Jenkins</a>
    <div class="age">36</div>
  </li>
</ul>

수도코드)

// arr의 길이만큼 반복문을 실행한다.
// 반복문 안에서 id가 container인 엘리먼트를 가져온다. -> document.querySelector
// li, a, div 태그를 생성한다. -> document.createElement
// a와 div에 클래스를 부여한다. -> classList.add
// a와 div에 텍스트를 부여한다. -> textContent
// a에 클릭 이벤트를 부여한다. -> addEventListener('click', ~~)
// 반복문이 끝나고 printRole 함수에서는 해당 사원의 role이 콘솔에 출력된다.

profile
안녕하세요 유지원입니다

0개의 댓글