TIL return count === 0 , true

Rami·2025년 10월 14일

TodayILearn

목록 보기
56/61

💡 return count === 0; 은 왜 가능한가?

괄호 짝 맞추기 문제를 풀다 보면,
마지막에 이런 코드가 자주 등장합니다 👇

return count === 0;

처음 보면 “어라? count가 0이면 true라고 설정한 적 없는데?”
이런 의문이 생기죠.
하지만 이 한 줄에는 자바스크립트의 비교 연산 원리가 숨어 있습니다.


🧠 1️⃣ === 연산자의 본질

자바스크립트에서 === 연산자는

두 값이 “값”과 “자료형”까지 완전히 같은지를 비교합니다.

즉,

count === 0


count가 0과 완전히 같은가?”를 묻는 질문이에요.
이 질문의 결과 자체가 true 또는 false(Boolean) 로 나옵니다.


✅ 예시

let count = 0;
console.log(count === 0); // true (값이 같다)

count = 1;
console.log(count === 0); // false (값이 다르다)

즉, ===비교 후 Boolean 값을 반환합니다.
그래서 return count === 0;

“count가 0이면 true, 아니면 false를 반환하라”
라는 의미가 됩니다.


🔍 2️⃣ if 문으로 풀어서 쓰면?

다음 두 코드는 완전히 동일하게 동작합니다 👇

✅ 긴 버전 (if 문 사용)

if (count === 0) {
  return true;
} else {
  return false;
}

✅ 짧은 버전 (비교 결과를 직접 반환)

return count === 0;

자바스크립트는 === 연산 결과가 이미 Boolean(true/false)이기 때문에
굳이 if문으로 감싸서 “true / false를 다시 반환”할 필요가 없습니다.


🧩 3️⃣ 실제 실행 예시

count 값count === 0반환값
0true✅ 올바른 괄호
1false❌ 닫히지 않은 괄호
-1false❌ 닫는 괄호가 너무 많음

⚡️ 4️⃣ 비교 연산자들이 반환하는 값

연산자의미예시결과
===값과 자료형이 모두 같은가3 === 3true
!==값과 자료형이 모두 다른가3 !== "3"true
>왼쪽이 더 큰가5 > 2true
<왼쪽이 더 작은가2 < 5true
>=왼쪽이 크거나 같은가5 >= 5true
<=왼쪽이 작거나 같은가3 <= 2false

모든 비교 연산자는 결국 true / false 값을 반환합니다.
그래서 if 없이도 그대로 return이 가능합니다 ✅


💬 5️⃣ 실제 함수 안에서의 예시

function solution(s) {
  let count = 0;
  for (let i = 0; i < s.length; i++) {
    if (s[i] === "(") {
      count += 1;
    } else {
      count -= 1;
    }
    if (count < 0) return false;
  }

  // count가 0이면 true, 아니면 false
  return count === 0;
}

🔍 흐름 설명

  1. 문자열 끝까지 다 돌았을 때, count가 0이면 올바른 괄호
  2. count === 0의 결과는 true 또는 false
  3. 따라서 return count === 0; 이면 바로 Boolean 값을 반환

🎯 6️⃣ 마무리 요약

구분설명
===비교 결과로 Boolean을 반환
return count === 0;“count가 0이면 true, 아니면 false 반환”
장점코드가 짧고 명확함
같은 의미의 긴 코드if (count === 0) return true; else return false;

💡 한 줄 정리

return count === 0;
는 “count가 0이면 true, 아니면 false”를 비교 연산자 자체로 표현한 축약형 문장이다.
자바스크립트에서 비교 연산은 항상 Boolean을 반환하기 때문에 가능한 문법이다.

profile
YOLO

0개의 댓글