위코드 12일차

김상연·2021년 2월 27일
0

wecode

목록 보기
12/42

08:00 ~ 09:00 헬스장
10:00 위코드 도착
벌써 부트캠프를 한지 이주가 다되간다. 솔직히 아직까진 뭔가가 늘었다는 체감은 되지 않지만 확실한 건 이주 전보다는 더 많은 걸 알고 차근차근 성장 중이라는 것이다.
원래 오르막길을 올라갈 때는 힘들지만 결국에는 정상에 다다를 것이라 믿는다.

오늘은 자바스크립트 문제 다섯가지를 풀어보았다.

1번

짝수인지 홀수인지 판별하는 함수를 작성하라.

function isEven(num) {
  if(num % 2 == 0) {
    return '짝수 입니다.';
  } else {
    return '짝수가 아닙니다.';
  }
}

isEven(2); // Output : '짝수 입니다.'

num이 정수일 경우로만 가정해서 나눠서 나머지가 0이면 짝수 아니면 홀수로 출력된다.

이 코드를 더 간단하게 하려면 삼항연산자를 사용

function isEven(num) {
  return (num % 2 == 0 ? '짝수 입니다' : '짝수가 아닙니다');
}

isEven(2); // Output : '짝수 입니다'

2번

팁과 세금을 제외한 식사값이 주어졌을 때, 팁과 세금이 포함된 총 식사값을 반환하라.
세금은 9.5% 팁은 15%로 계산

function calculateTotal(amount) {
  let tax = amount * 0.095;
  let tip = amount * 0.15;
  return amount = amount + tax + tip;
}

오히려 위에 문제보다 더 쉽다. 더하기만 알면 할 줄 아는 문제 수준이다.

3번

문자열이 주어졌을 때 -를 기준으로 앞에 있는 문자열을 반환하라

function getPrefix(str) {
  let prefix = str.split('-')
  return prefix[0]
}

getPrefix('asd-bcd') // Output : 'asd'

split('-')는 -를 지우라는 뜻이다. 그럼 return prefix[0]은 -를 지운 첫번째 문자열을 반환하라는 뜻이다.

4번

문자와 문자열이 주어졌을 때, 주어진 문자열에서 주어진 문자가 나타내는 첫번째 위치를 반환해라
문자열의 첫번째 문자는 인덱스값 0을 가지며, 해당 문자가 여러번 나타나는 경우 첫번째로 나타나는 위치를 반환해라. 만약 존재하지 않는다면 -1을 반환할것. (indexOf 함수 사용 X)

function getFind(filter, sentence) { 
  for (let i in sentence) {
    if(sentence[i] === filter) {
      return i;
    }
      if(i === sentence.length-1) {
      return -1;
    }
  }
}

 getFind('a', 'I am a hacker') // Output : 2;

for in 문을 사용하여 해결가능. for문으로 sentence 안의 글자들과 filter를 대조해서 있으면 값을 반환, 없으면 -1을 반환한다.

5번

주어진 리스트안에 단어중 가장 긴 단어를 찾을 수 있도록 함수를 완성하라.

function find_longest_word(arr) {
   let small = arr[0];
   for(let i in arr) {
     if(small.length < arr[i].length) {
     small = arr[i]
   } 
  } return small;
}

 find_longest_word(["PHP", "Exercises", "Backend"]) // 'Output : Exercises'

조금 복잡하긴 했다. 일단 small을 arr의 배열의 첫번째를 정의해준다. 그리고 for문으로 arr을 돌린다음, 만약 small의 length가 arr의 length보다 작으면 small을 그 arr[i]로 정의하고 small을 반환시키면 끝이다.

0개의 댓글