2030 Engineer

JS 제어문 본문

WEB/JS

JS 제어문

Hard_Try 2020. 12. 30. 00:32

If 문 예시

// 파라미터 height을 활용하는 checkHeight 함수를 완성하세요.
let height = 0;
function checkHeight(height) {
	if (height >= 140) {
    console.log('탑승이 가능합니다.');
  } else {
    console.log('탑승이 불가능합니다.');
  }
}

// 테스트 코드
checkHeight(141);
checkHeight(135);
checkHeight(170);


else if 문 예시

function printGrade(midtermScore, finalScore){
	let totalScore = midtermScore + finalScore;
  if (totalScore >= 90) {
    console.log('A');
  }
  else if (totalScore >= 80) {
    console.log('B');
  }
  else if (totalScore >= 70) {
    console.log('C');
  }
  else if (totalScore >= 60) {
    console.log('D');
  }
  else {
    console.log('F');
  }
}

// 테스트 코드
printGrade(25, 35);
printGrade(50, 45);
printGrade(29, 24);
printGrade(37, 42);

// 나의 나이와, 나의 성별을 저장하는 변수
let myAge = 26;
let myGender = 'male';

// 호칭을 담은 변수
let callOlderBrother = '형';
let callOlderSister = '누나';
let callFriend = '친구';
let callYoungerSister = '여동생';
let callYoungerBrother = '남동생';

// 상대방의 나이와 성별에 따른 호칭을 리턴하는 함수 whatShouldICall를 완성하세요.
function whatShouldICallYou(yourAge, yourGender) {
  if (yourAge > myAge) {
    if (yourGender == 'male') {
      return callOlderBrother;
    }
    else {
      return callOlderSister;
    }
  }
  else if (yourAge == myAge) {
    return callFriend;
  }
  else {
    if (yourGender == 'male') {
      return callYoungerBrother;
    }
    else {
      return callYoungerSister;
    }
  }
}

// 테스트 코드
let result1 = whatShouldICallYou(25, 'female');
let result2 = whatShouldICallYou(20, 'male');
let result3 = whatShouldICallYou(26, 'female');
let result4 = whatShouldICallYou(30, 'male');
let result5 = whatShouldICallYou(31, 'female');

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
console.log(result5);


switch 문 예시

// 각 등급별 가격
let VIPPrice = 15;
let RPrice = 13;
let SPrice = 10;
let APrice = 8;

// 각 등급에 맞는 가격을 출력하는 함수 checkPrice를 완성하세요.
function checkPrice(grade) {
	switch(grade) {
    case 'R' :
      console.log(`R석은 ${RPrice}만원 입니다.`);
      break;
    case 'VIP' :
      console.log(`VIP석은 ${VIPPrice}만원 입니다.`);
      break;
    case "S" :
      console.log(`S석은 ${SPrice}만원 입니다.`);
      break;
    case 'A' :
      console.log(`A석은 ${APrice}만원 입니다.`);
      break;
    default :
      console.log('VIP, R, S, A 중에서 하나를 선택해 주세요.');
      break;
  }
}

// 테스트 코드
checkPrice('R');
checkPrice('VIP');
checkPrice('S');
checkPrice('A');
checkPrice('B');


for 문 예시

for(let i = 2; i <= 100; i += 2) {
  console.log(i);
}

2부터 100까지 2의 배수가 출력된다.

주의할점

function printTriangle(height) {
  // 여기에 코드를 작성해 주세요.
  let messege = ''
  for(let i = 1; i <= height; i++) {
    messege += '*';
    console.log(messege);
  }
}

// 테스트 코드
console.log('높이: 1');
printTriangle(1);

console.log('높이: 3');
printTriangle(3);

console.log('높이: 5');
printTriangle(5);

오랜만에 별찍기 문제가 있어서 해보는데 console.log줄바꿈을 이스케이프 할 수 있는 방법이 없다. 따라서 위와 같이 messege에 공백문자를 담아놓은 후에 별을 축적하여 print한 후에 줄바꿈하도록 했다.


while 문 예시

100이하의 숫자 중에서 홀수만을 출력

let i = 1;

while (i <= 99) {
  console.log(i);
  i += 2;
}

N의 약수 구하기

const N = 180;
// 여기에 코드를 작성해 주세요.
let div = 1;
let count = 0;

while (N >= div) {
  if (N % div == 0) {
    console.log(div);
    count++;
  }
  div++;
}

console.log(`${N}의 약수는 총 ${count}개 입니다.`);


늘 하던 구구단, 피보나치

구구단

for (let i = 1; i <= 9; i++) {
  for (let j = 1; j <= 9; j++){
    console.log(`${i} * ${j} = ${i*j}`);
  }
}

피보나치

// fibonacci

let first_num = 1;
let second_num = 1;
let temp = 0;

console.log(first_num);

for (let i = 1; i <= 49; i++) {
  console.log(second_num);
  temp = second_num;
  second_num = first_num + second_num;
  first_num = temp;
}

temp를 사용한 버전이다. 파이썬에서는 귀납법 사용하지 않았던 것 같은데.. 일단은 JS에서 진도나간 부분만 최대한 활용해보았다.

'WEB > JS' 카테고리의 다른 글

JS 자료형 심화  (0) 2021.01.04
JS 배열  (0) 2021.01.04
JS 객체  (0) 2021.01.04
JS 추상화  (0) 2020.12.28
JS 기초  (0) 2020.12.28
Comments