데일리 코딩 08 (&&논리연산자, 짧은단어 출력(number 타입),내림처리(is,else if)

Numberbeen·2023년 1월 4일

Daily Coding

목록 보기
8/13
post-thumbnail

문제.1

이름과 비밀번호를 입력받아 이름이 3글자보다 크고 비밀번호가 8 글자 이상이면 true 를 리턴해야 한다.

입력

인자 1 : name

  • string 타입의 알파벳 문자열
  • name.length 는 10 이하

인자 2 : password

  • string 타입의 알파벳 문자열
  • password.length 는 10 이하

출력

  • boolean 타입을 리턴해야 한다.

입출력 예시

let output = areValidCredentials('Ritu', 'mylongpassword');
console.log(output); // --> true

정답

function areValidCredentials(name, password) {
  if ( name.length > 3 && password.length >= 8) {
    return true;
  }
  return false;
}

문제.2

세 개의 단어를 입력받아 그 중 가장 짧은 단어의 길이를 리턴해야 한다.

입력

인자 1 : word1

  • string 타입의 알파벳 문자열
  • word1.length 는 20 이하

인자 2 : word2

  • string 타입의 알파벳 문자열
  • word2.length 는 20 이하

인자 3 : word3

  • string 타입의 알파벳 문자열
  • word3.length 는 20 이하

출력

  • number 타입을 리턴해야 한다.

주의 사항

  • 단어들의 길이가 모두 같은 경우, 그 길이를 리턴해야 한다.

입출력 예시

let output = findMinLengthOfThreeWords('a', 'be', 'see');
console.log(output); // --> 1

정답

function finMinLengthOfThreeWords(word1, word2, word3){
  let shortword = word1.length
  if(word1.length > word2.length) {
    shortword = word2.length;
    if(word2.length > word3.length) {
      shortword = word3.length;
    }
  } else {
    if(word1.length > word3.length) {
      shortword = word3.length;
    }
  }
  return shortword;
}

문제.3

사용자의 이름과 미접속 시간(분)을 입력받아 조건별로 다른 메세지를 리턴해야 한다.

입력

인자 1 : name

  • string 타입의 이름

인자 2 : period

  • number 타입의 미접속 시간 (분 단위)

출력

  • string 타입을 리턴해야 합니다.
  • 미접속 시간이 1시간 보다 적을 경우, 분 단위로 표기합니다.
  • 미접속 시간이 1시간 보다 크고 24시간 보다 적을 경우, 시간 단위로 내림처리하여 표기합니다.
  • 미접속 시간이 24시간 보다 클 경우, 일 단위로 내림처리하여 표기합니다.

입출력 예시

let output = makeLastSeenMsg('mike', 40);
console.log(output); // --> 'mike: 40분 전에 접속함'

output = makeLastSeenMsg('mike', 121);
console.log(output); // --> 'mike: 2시간 전에 접속함'

output = makeLastSeenMsg('mike', 2887);
console.log(output); // --> 'mike: 2일 전에 접속함'

정답

function makeLastSeenMsg(name, period) {
  const day = 60 * 24;
  const hour = 60;
  if (period > day) {
    return `${name}: ${Math.floor(period / day)}일 전에 접속함`;
  } else if (period > hour) {
    return `${name}: ${Math.floor(period / hour)}시간 전에 접속함`;
  } else {
    return `${name}: ${period}분 전에 접속함`;
  }
}
profile
내기 이해한 것을 보관하는 곳

0개의 댓글