TIL14.코드잇 서열정리

조연정·2020년 8월 12일
0
post-thumbnail

JS에서 배운 if문을 활용해보자.
else if 안에 if를 중첩해서 사용하는 것이 가능했다!

if문 실습과제

나이가 같으면 "친구"
자신보다 나이가 어릴 경우 "남동생", "여동생"

남자의 경우:
자신보다 나이가 많은 남자에게 "형"
자신보다 나이가 많은 여자에게 "누나"

여자의 경우:

자신보다 나이가 많은 남자에게 "오빠"
자신보다 나이가 많은 여자에게 "언니"
if문을 활용해서 호칭을 판별해주는 코드 만들어보기

function whatShouldICallYou(myAge, myGender, yourAge, yourGender) {
   
  if (myAge === yourAge) {
    	return "친구";
  } else if (myAge > yourAge) {
    if (yourGender === 'male'){ 
      return "남동생"; 
    }else {
      return "여동생";
    }    
  } else if (myAge < yourAge && myGender === 'male' && yourGender === 'male'){
    return"형";
  } else if (myAge < yourAge && myGender === 'male' && yourGender === 'female'){
     return "누나";
  }else if (myAge < yourAge && myGender === 'female' && yourGender === 'male'){
    return "오빠";
  }else if (myAge < yourAge && myGender === 'female' && yourGender === 'female'){
    return "언니";
  }
}
// 테스트 코드
var result1 = whatShouldICallYou(23, 'male', 25, 'female');
var result2 = whatShouldICallYou(21, 'female', 21, 'female');
var result3 = whatShouldICallYou(25, 'female', 22, 'male');

console.log(result1);
console.log(result2);
console.log(result3);
누나
친구
남동생

{}가 너무 많이 나와서 엄청 헷갈렸다.;;
►else if 안에 if를 쓸 수 있다는 생각을 못해서 이 부분은 힌트를 얻어 작성했다.
►코드를 최소화하지 못했다- 앞에 경우에 나보다 나이가 적은 경우, 같은 경우를 정의했기에 남은 경우는 당연히, 나보다 나이가 많은 경우밖에 없다. 그렇다면 굳이 myAge<yourAge&& 쓰지 않아도 된다.

profile
Lv.1🌷

0개의 댓글