[JavaScript] 기본 문제 풀이 2

function answer(x,y){
let result ="";

if(x>y){
result=">";
}else if(x<y){
result="<";
}else if(x == y){
result="=";
}
return result;
}

if esle로 풀 수 있는 쉬운 문제여서 다행히 맞췄다^^




function answer(a,b,c,d){
let result;
if(a/b>c/d){
result=1;
}else if (a/b == c/d){
result=0;
}else if(a/b < c/d){
result=1;
}
return result;
}

대소비교 문제랑 같은 방식으로 풀어서 맞췄다!
코테가 이런 식의 문제면 얼마나 좋을꼬~




논리 연산자를 통해 표를 그려보고 코드 작성해보자!

입력값112
예제4배수100배수가 아닐때400배수
4ooxtrue
100oxxfalse
124ooxtrue
247xxxfalse
400xxotrue
function answer(year){
let result;

if(year % 4 == 0 && year % 100 != 0){
result=true;
}else if(year % 400 == 0){
result=ture;
}else{
result = false;
}
return result;
}
(for문을 사용한 풀이 방법)

for(let i = 0; i<year; i++){
if(i % 4 == 0 && i % 100 !== 0){
result = true;
}else if (i % 400 == 0){
result = true;
}else{
result = false;
}
}
return result;
}

1. i를 변수 선언을 하지 않고 바로 year 사용해 %(배수) 논리 연산자를 사용하여 &&(or) 비교한다.
2. 맨 마지막 if에 해당하지 않는것들은 false 출력한다.




function answer(withdraw, total){
let result;

if(withdraw % 5 !=0){
result = total;
}else if (withdraw + 0.5 > total){
result = total;
}else if (withdraw % 5 == 0){
result = total - withdraw - 0.5;
}
return result;
}
(나의 틀린 코드)

if(withdraw % 5 == 0){
withdraw += 0.5;
result = total - withdraw;
}else if (withdraw + 0.5 > total){
result = total;
}else if (withdraw % 5 !=0){
result = total;
}
return result;
}

(선생님 풀이)
1. 선생님 풀이는 먼저 3번 예제부터 풀면서 if문을 만들었다.
2. 맨 마지막에 total에서 다 뺴면 1번째 예제 값이 출력된다.
(나의 문제 풀이 문제점)
1. 맨 마지막 금액이 인출이 불가능하면 금액 반환되는 부분에서 막혔다 그 이유는?
2. if문에 먼저 withdraw +=0.5; 해주고 total-withdraw 를 해줘서 그런것 같다.
3. 1,2번 예제 출력은 되지만 마지막 3번이 되지 않아 아쉬웠다ㅠ

좋은 웹페이지 즐겨찾기