[๐Ÿš€ Check Point] 10. ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

์žฅ์šด์„œยท2021๋…„ 6์›” 11์ผ
0

replit - javascript

๋ชฉ๋ก ๋ณด๊ธฐ
10/20
post-thumbnail

[๐Ÿš€ Check Point] 10. ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

10-1. ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž(Logical Operators)์˜ ํ•„์š”์„ฑ

if๋ฌธ์œผ๋กœ ์กฐ๊ฑด๋ฌธ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฒ•์„ ์ด์ „์‹œ๊ฐ„์— ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ณผ๊นŒ์š”?

const answer = prompt("์–ด๋””์‚ฌ์„ธ์š”?");

if (answer === "์„ ๋ฆ‰") {
  alert("๊ฐ€๊นŒ์šฐ์‹œ๋„ค์š”!");
} else if (answer === "๊ฐ•๋‚จ") {
  alert("๊ฐ€๊นŒ์šฐ์‹œ๋„ค์š”!");
} else if (answer === "์„์ง€๋กœ") {   
  alert("์กฐ๊ธˆ ๋ฉ€๋ฆฌ ์‚ฌ์‹œ๋„ค์š”."); 
} else {
 alert("๊ฑฐ๊ธด ์–ด๋””์ธ๊ฐ€์š”?");
}

์œ„์˜ ์กฐ๊ฑด๋ฌธ์„ ๋ณด๋ฉด answer๊ฐ€ "์„ ๋ฆ‰", "๊ฐ•๋‚จ"์ผ ๋•Œ๋Š” ์กฐ๊ฑด์€ ๋‹ค๋ฅด์ง€๋งŒ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ด ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์—ญ์‚ผ, ์‚ผ์„ฑ๋„ ์กฐ๊ฑด๋ฌธ์— ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ, ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•œ๋‹ค๋ฉด? ๋Œ€๋žต 4์ค„์ด ์ถ”๊ฐ€ ๋˜์–ด์•ผ๊ฒ ๋„ค์š”. ๊ฒฐ๊ณผ๋Š” ๊ฐ™์€๋ฐ ์กฐ๊ฑด๋ฌธ๋งŒ ๋‹ฌ๋ฆฌ ์“ฐ๋ ค๋‹ˆ ๋ญ”๊ฐ€.. ๊ท€์ฐฎ๊ธฐ๋„ ํ•˜๊ณ , ์ƒ์‚ฐ์„ฑ ์—†์ด ๋Š๊ปด์ง‘๋‹ˆ๋‹ค.

์ด๋Ÿด ๋•Œ๋Š” ๊ฐ™์€ ๊ฒฐ๊ณผ์— ํ•ด๋‹นํ•˜๋Š” ์กฐ๊ฑด์„ ๋ฌถ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

if (์„ ๋ฆ‰ ๋˜๋Š” ๊ฐ•๋‚จ ๋˜๋Š” ์‚ผ์„ฑ ๋˜๋Š” ์—ญ์‚ผ) {   
    alert("๊ฐ€๊นŒ์šฐ์‹œ๋„ค์š”!"); 
} 

10-2. ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์˜ ์‚ฌ์šฉ๋ฒ•

๋ฐ”๋กœ "๋˜๋Š”(or)" ์ด๋ผ๋Š” ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. "๋˜๋Š”(or)"์— ํ•ด๋‹นํ•˜๋Š” JavaScript ์—ฐ์‚ฐ์ž๋Š” || ์ž…๋‹ˆ๋‹ค. (shift + \)

์•„๋ž˜์ฒ˜๋Ÿผ ๋‹ค์‹œ ์ž‘์„ฑ ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

const answer = prompt("์–ด๋””์‚ฌ์„ธ์š”?");

if (answer === "์„ ๋ฆ‰" || answer === "๊ฐ•๋‚จ" || answer === "์—ญ์‚ผ") {
  alert("๊ฐ€๊นŒ์šฐ์‹œ๋„ค์š”!");
} else if (answer === "์„์ง€๋กœ") {   
  alert("์กฐ๊ธˆ ๋ฉ€๋ฆฌ ์‚ฌ์‹œ๋„ค์š”."); 
} else {
 alert("๊ฑฐ๊ธด ์–ด๋””์ธ๊ฐ€์š”?");
}

์กฐ๊ฑด๋ฌธ์„ ํ•œ ๋ฒˆ ์‚ดํŽด๋ด…์‹œ๋‹ค. ํ•˜๋‚˜์˜ if ๋ฌธ์— ์ฐธ(true)/๊ฑฐ์ง“(false)์„ ํŒ๋‹จํ•  ์กฐ๊ฑด์€ ์„ธ ๊ฐœ(์„ ๋ฆ‰,๊ฐ•๋‚จ,์—ญ์‚ผ)์ž…๋‹ˆ๋‹ค. prompt ํ•จ์ˆ˜์—์„œ ๋ฆฌํ„ด๋ฐ›์€ answer๊ฐ€ ์„ ๋ฆ‰, ๊ฐ•๋‚จ, ์—ญ์‚ผ ์ค‘ ํ•˜๋‚˜์ผ ๊ฒฝ์šฐ. ์ฆ‰, ์ € ์…‹ ์ค‘์— ํ•˜๋‚˜๋กœ ๋Œ€๋‹ตํ•˜๋ฉด ํ•ด๋‹น if๋ฌธ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” ์ทจ๋ฏธ์™€ ์„ฑํ–ฅ์„ ๋ฐ›์•„์„œ ๋™์•„๋ฆฌ๋ฅผ ์ถ”์ฒœํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ทจ๋ฏธ๊ฐ€ ๊ผญ ์ถ•๊ตฌ์—ฌ์•ผํ•˜๊ณ , ์•„์นจํ˜• ์ธ๊ฐ„๋งŒ ์กฐ๊ธฐ์ถ•๊ตฌํšŒ๋ฅผ ์ถ”์ฒœํ•ด๋“œ๋ฆด๊ฑฐ์˜ˆ์š”. (์ทจ๋ฏธ๊ฐ€ ์ถ•๊ตฌ์ธ๋ฐ, ์ €๋…ํ˜• ์ธ๊ฐ„์ด๋ฉด ์ถ”์ฒœ ์•ˆ ํ•ฉ๋‹ˆ๋‹ค.)

์ด๋ ‡๊ฒŒ ์–ด๋–ค ์กฐ๊ฑด ํ•˜๋‚˜๋งŒ ๋งž์œผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋‘ ์ถฉ์กฑํ•ด์•ผํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” "๊ทธ๋ฆฌ๊ณ (and)" ์—ฐ์‚ฐ์ž์ธ && ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

const hobby = prompt("์ทจ๋ฏธ๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?");
const morning = prompt("์•„์นจํ˜• ์ธ๊ฐ„์ธ๊ฐ€์š”?");

if (hobby === "์ถ•๊ตฌ" && morning === "๋„ค") {
  alert("์กฐ๊ธฐ์ถ•๊ตฌํšŒ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.");
} else {
  alert("๋ฌด์Šจ ๋™์•„๋ฆฌ๊ฐ€ ์ข‹์„์ง€ ์ƒ๊ฐํ•ด๋ณผ๊ฒŒ์š”.");
}

์œ„์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•ด๋ด…์‹œ๋‹ค.


10-3. ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•œ ์กฐ๊ฑด๋ฌธ์˜ ๋‹ค์–‘ํ•œ ํ‘œํ˜„

๋‹ค์Œ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•œ if๋ฌธ์—์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ํ‘œํ˜„์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ๋ณด๊ณ  ๋จผ์ € ์ดํ•ดํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ด…์‹œ๋‹ค.

if (age > 65 || age < 21 && res === "ํ•œ๊ตญ")

์•„! ์ •๋ง ํ—ท๊ฐˆ๋ฆฌ๋„ค์š”. ์ด๋ ‡๊ฒŒ๋„ ์ €๋ ‡๊ฒŒ๋„ ํ•ด์„์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ || ๊ฐ€ ๋จผ์ € ์žˆ์–ด์„œ || ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด๋ดค์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์•„๋ž˜ ์ค‘์— ๋‘˜ ์ค‘์— ํ•˜๋‚˜๋งŒ ์ฐธ์ด์–ด๋„ if๋ฌธ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • age๊ฐ€ 65๋ฅผ ๋„˜๊ฑฐ๋‚˜,
  • age๊ฐ€ 21๋ณด๋‹ค ์•„๋ž˜์ด๋ฉด์„œ ์‚ฌ๋Š” ๊ณณ์€ ํ•œ๊ตญ์ด๋‹ค.

์ด๋Ÿฐ ํ•ด์„์ด๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ์šฐ ์ฐธ์ž…๋‹ˆ๋‹ค.(์˜ˆ)

  • 66์„ธ์ด๋‹ค.
  • 20์ด๋ฉด์„œ ํ•œ๊ตญ์— ์‚ฐ๋‹ค.

๊ทธ ๋‹ค์Œ์œผ๋กœ && ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๋‹ค๋ฉด ๋‘๊ฐœ์˜ ์กฐ๊ฑด์ด ๋‹ค ๋งž์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

  • age๊ฐ€ 65๋ฅผ ๋„˜๊ฑฐ๋‚˜ age๊ฐ€ 21๋ณด๋‹ค ์•„๋ž˜์ด๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋Š” ๊ณณ์€ ํ•œ๊ตญ์ด๋‹ค.

์ด๋Ÿฐ ํ•ด์„์ด๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ์šฐ ์ฐธ์ž…๋‹ˆ๋‹ค.(์˜ˆ)

  • 66์„ธ ํ•œ๊ตญ์— ์‚ฐ๋‹ค.
  • 20์„ธ ํ•œ๊ตญ์— ์‚ฐ๋‹ค.

์œ„์˜ ๋‘ ๊ฐ€์ง€ ํ•ด์„์ค‘ ๋ฌด์—‡์ด ๋งž์„๊นŒ์š”? ์ปดํ“จํ„ฐ ์–ธ์–ด๋Š” ์™ผ์ชฝ์—์„œ ๋ถ€ํ„ฐ ํ•ด์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„๊ฐ€ ๋งž๋Š” ํ•ด์„์ž…๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ๋Š” ๋ณธ์ธ์ด ์ •ํ•œ ๊ธฐ์ค€์œผ๋กœ ์‹คํ–‰์ด ๋˜์ง€๋งŒ, ๊ฐœ๋ฐœ์ž์ธ ์‚ฌ๋žŒ์€ ๋ณผ ๋•Œ๋งˆ๋‹ค ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋‹ˆ ํ•ญ์ƒ ๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ์Šต๊ด€์„ ๋“ค์ด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€๋…์„ฑ์žˆ๊ฒŒ ๋ฐ”๊พผ ๋‹ค๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

if (age > 65 || (age < 21 && res === "ํ•œ๊ตญ"))

ํ˜น์‹œ ๋‘ ๋ฒˆ์งธ ํ•ด์„์ด ์›ํ–ˆ๋˜ ๊ฒฐ๊ณผ๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ด„ํ˜ธ๋ฅผ ๋ฌถ์–ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

if ((age > 65 || age < 21) && res === "ํ•œ๊ตญ"))

Assignment

index.js์— ์žˆ๋Š” ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด ๊ฒŒ์ž„ ํ•จ์ˆ˜๋ฅผ ์•„๋ž˜ ์กฐ๊ฑด์— ๋งž๊ฒŒ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.

  • rockPaperScissors ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์„œ ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด ๊ฒŒ์ž„์„ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.
  • ๊ฐ€๋Šฅํ•˜๋ฉด || ์™€ && ์—ฐ์‚ฐ์ž ๋‘˜๋‹ค ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.
  • player1๊ณผ player2 ์ค‘ ์ด๊ธด ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฐ์ง€ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, player1์ด ์ด๊ฒผ์œผ๋ฉด "player1" ์ด ๋ฆฌํ„ด ๋˜๊ณ  ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋ผ๋ฉด "player2"๊ฐ€ ๋ฆฌํ„ด์ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งŒ์ผ ๋น„๊ธฐ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฌด์กฐ๊ฑด "player1"์ด ๋ฆฌํ„ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • player1 ๊ณผ player2 ์˜ ๊ฐ’์€ ๋‹ค์Œ ์…‹ ์ค‘ ํ•˜๋‚˜ ์ž…๋‹ˆ๋‹ค.
    • "๊ฐ€์œ„"
    • "๋ฐ”์œ„"
    • "๋ณด"
  • ์˜ˆ๋ฅผ ๋“ค์–ด, player1์€ "๊ฐ€์œ„" ์ด๊ณ  player2๋Š” "๋ณด" ์ด๋ฉด "player1" ์ด ๋ฆฌํ„ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

// Assignment - ๋‹ค์Œ ํ•จ์ˆ˜ ์•ˆ์— ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”
function rockPaperScissors(player1, player2) {
   if ((player1 === "๊ฐ€์œ„" && player2 === "๋ณด" ) || (player1 === "๊ฐ€์œ„" && player2 === "๊ฐ€์œ„")) {
      result = "player1";
      return result;
   }else if((player1 === "๋ฐ”์œ„" && player2 === "๊ฐ€์œ„") || (player1 === "๋ฐ”์œ„" && player2 === "๋ฐ”์œ„")){
     result ="player1";
     return result;
   }else if((player1 ==="๋ณด" && player2 == "๋ฐ”์œ„") || (player1 === "๋ณด" && player2 === "๋ณด")){
     result ="player1";
     return result;
   }else{
     result = "player2";
     return result;
   }

}

&&๋Š” ์ด๊ฑฐ๋‚˜์˜ ๋œป ||๋Š” ๊ทธ๋ฆฌ๊ณ  ์˜ ์˜๋ฏธ๋งŒ ์•Œ๋ฉด ์‰ฝ๊ฒŒ ํ’€์ˆ˜ ์žˆ๋Š” ๋…ธ๊ฐ€๋‹ค ๋ฌธ์ œ์ด๋‹ค.

profile
๋ฐฉํ–ฅ์„ฑ์„ ์ฐพ๊ณ ์‹ถ์€ ํ”„๋ก ํŠธ์—”๋“œ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€