코딩테스트

코딩테스트 풀이 - 양꼬치 | 논리연산자 || , &&

히새 2023. 10. 4. 16:52

 

🎈 내가 생각한 코드 흐름

 

총 가격 = n * 12000 + k * 2000

하지만 n 이 10 보다 크고, k 값이 1 이상일 때

( n / 10 의 정수값 ) * 2000 만큼 빼야한다.

 

 

작성코드

결과

왜 테스트 1의 값이 다를까.. 생각해보니! 10인분에 음료수 하나이기 때문에, 10인분일때도 포함시켜야한다.!

 

그래서 10보다 클 때 를 10보다 크거나 같을 때 로 수정해주었더니 통과 !

 

혹시 몰라서 음료수를 주문하지 않았을 때의 테스트 케이스를 추가해보았다.

무사히 통과하였다.

 


🎈 논리연산자 || OR

 

두 피연산자 중 하나라도 true면 true를 반환하고, 그렇지 않으면 `false`를 반환한다.

alert( true || true );   // true
alert( false || true );  // true
alert( true || false );  // true
alert( false || false ); // false

모두 false 인 경우를 제외하고 연산 결과는 항상 true 이다.

 

피연산자가 여러 개인 경우, 첫 번째 truthy를 찾는다. 모든 피연산자가 falsy 한 경우, 맨 마지막 값을 반환한다.

 

 

🎈 논리연산자 && AND

 

두 피연산자가 모두 참일 때 true 를 반환하고, 그 외의 경우는 false 를 반환한다.

alert( true && true );   // true
alert( false && true );  // false
alert( true && false );  // false
alert( false && false ); // false

모두 true 인 경우를 제외하고 연산 결과는 항상 false 이다.

 

피연산자가 여러 개인 경우, 첫 번째 falsy를 찾는다. 모든 피연산자가 truthy 한 경우, 맨 마지막 값을 반환한다.

 

 

🎈 논리 연산자 추가 내용

 

&& 의 우선순위가 || 보다 높다.

if 문을 || 나 && 로 대체하지 않는다.

 

 

🎈 몫 구하기

 

Math.floor( n / 10 )

parseInt( n / 10 )