2021_03_30

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

TIL - HA 문제 복습

코드스테이츠 PRE 코스가 끝나고 HA(Hiring Assessment) 시험을 봤다. 다음 코스는 4월 5일부터 시작이 된다. 남은 시간동안 복습도 할 겸 몇 문제 씩 시험에 나왔던 문제의 수도코드를 작성해보며 복습하려 한다.

[Test 1]

문제) 문자열을 입력받아 문자열에 존재하는 각 단어의 개수 정보를 담은 객체를 리턴해야 한다. 단, 대소문자는 구분하지 않는다.

입출력)

let output = test1('ask a bunch try a BUNCH get a bunch');
console.log(output); // --> { ask: 1, a: 3, bunch: 3, try: 1, get: 1 }

수도코드)

// 입력받은 문자열을 모두 소문자로 바꾼다. -> str.toLowerCase()
// 공백을 기준으로 잘라서 배열에 저장한다. -> str.split(' ')
// 배열의 길이만큼 반복문을 실행한다.
// 반복문 안에서 단어를 키로, 갯수를 키값으로 저장하려고 한다.
// 객체 안에 해당 단어가 있으면 키값+1, 없으면 키값을 1로 새로운 키를 생성한다.
// 반복문이 끝나고 저장한 객체를 리턴한다.

[Test 2]

문제) 수를 입력받아 각 자릿수를 모두 더한 값을 리턴한다.

입출력)

let output = test2(1148);
console.log(output); // --> 14 = 1 + 1 + 4 + 8

수도코드)

// 입력받은 수를 문자열 형태로 변환한다 -> String(num)
// 수가 음수인지 확인한다 -> newnum[0]이 '-'인지 확인한다.
// 음수라면 newnum[1]을 *(-1) 해서 sum 이라는 변수에 더한다.
// 음수가 아니라면 newnum[0]과 newnum[1]을 sum 이라는 변수에 더한다.
// 이렇게 하면 문자열의 인덱스 1번까지 sum에 더해졌다.
// newnum의 길이만큼 반복문을 실행한다. (2부터)
// 반복문 안에서 newnum의 각 요소를 sum에 더해준다.
// 반복문이 끝나고 sum을 리턴한다.

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

0개의 댓글