프론트엔드/Javascript 연습과제 해답

조건문 연습과제 해답

syleemomo 2024. 2. 17. 11:09
728x90

연습과제 1

let score = +prompt('평점을 입력해주세요!', 0)

if(score === 0){
  console.log('☆☆☆☆☆')
}else if(score === 1){
  console.log('★☆☆☆☆')
}else if(score === 2){
  console.log('★★☆☆☆')
}else if(score === 3){
  console.log('★★★☆☆')
}else if(score === 4){
  console.log('★★★★☆')
}else if(score === 5){
  console.log('★★★★★')
}else{
  alert('잘못된 평점입니다.')
}

 

연습과제 2

let score = +prompt('평점을 입력해주세요!', 0)

switch (score) {
  case 0: 
    console.log('☆☆☆☆☆')
    break 

  case 1:
    console.log('★☆☆☆☆')
    break 
  
  case 2:
    console.log('★★☆☆☆')
    break 
  
  case 3:
    console.log('★★★☆☆')
    break 
  
  case 4:
    console.log('★★★★☆')
    break 
  
  case 5:
    console.log('★★★★★')
    break 

  default:
    alert('잘못된 평점입니다.')
}

 

연습과제 3

let a = 3;

switch (true) {
  case (a > 10): 
    alert('10보다 크다!')
    break 

  case (a > 3):
    alert('3보다 크다!')
    break 

  default:
    alert('3보다 작거나 같다.')
}

 

연습과제 4

let score = +prompt('평점을 입력해주세요!', 0)

if(!Number.isInteger(score) ||
  score > 100 || score < 0){
    alert('잘못된 점수입니다.')
}else{
  if(score < 60){
    console.log('Fail')
  }else if(score < 70){
    console.log('성취기준 : 2')
  }else if(score < 80){
    console.log('성취기준 : 3')
  }else if(score < 90){
    console.log('성취기준 : 4')
  }else if(score <= 100){
    console.log('성취기준 : 5')
  }
}

 

연습과제 5

let player1 = '가위'
let player2 = '바위'

// 코드 작성하기
if(player1 === '가위'){
  if(player2 === '가위'){
    console.log('무승부')
  }else if(player2 === '바위'){
    console.log('player2 우승')
  }else if(player2 === '보'){
    console.log('player1 우승')
  }
}else if(player1 === '바위'){
  if(player2 === '가위'){
    console.log('player1 우승')
  }else if(player2 === '바위'){
    console.log('무승부')
  }else if(player2 === '보'){
    console.log('player2 우승')
  }
}else if(player1 === '보'){
  if(player2 === '가위'){
    console.log('player2 우승')
  }else if(player2 === '바위'){
    console.log('player1 우승')
  }else if(player2 === '보'){
    console.log('무승부')
  }
}

더 나은 해답은 아래와 같다. 중첩문을 사용하지 않고, 코드를 작성한 경우이다. 무승부인 경우, player1 이 우승하는 경우, 그리고 나머지는 player2가 우승하는 경우이다. 

let player1 = '가위'
let player2 = '바위'

// 코드 작성하기
if(player1 === player2){ // 같은거 낸 경우
  console.log('무승부')
}else if(player1 === '가위' && player2 === '보'
        || player1 === '바위' && player2 === '가위'
        || player1 === '보' && player2 == '바위'){
  console.log('player1 우승')
}else{
  console.log('player2 우승')
}

 

연습과제 6

let userName = prompt("사용자 이름을 입력해주세요.", '');

if (userName == 'Admin') {

  let pass = prompt('비밀번호:', '');

  if (pass == 'TheMaster') {
    alert( '환영합니다!' );
  } else if (pass == '' || pass == null) {
    alert( '취소되었습니다.' );
  } else {
    alert( '인증에 실패하였습니다.' );
  }

} else if (userName == '' || userName == null) {
  alert( '취소되었습니다.' );
} else {
  alert( "인증되지 않은 사용자입니다." );
}

 

연습과제 7

let player1 = Math.floor(Math.random()*3)
let player2 = Math.floor(Math.random()*3)


const cases = ['가위', '바위', '보']
console.log('player1: ', cases[player1], player1)
console.log('player2: ', cases[player2], player2)

// 코드 작성하기
if(player1 === player2){ // 같은거 낸 경우
  console.log('무승부')
}else if(cases[player1] === cases[0] && cases[player2] === cases[2]
        || cases[player1] === cases[1] && cases[player2] === cases[0]
        || cases[player1] === cases[2] && cases[player2] == cases[1]){
  console.log('player1 우승')
}else{
  console.log('player2 우승')
}
728x90