λΉνΈμ°μ°μ AND μ OR μ μ°¨μ΄? Main2.java
μ΄ λ¬Έμ λ₯Ό νλ©΄μ μ¬λ¬κ°μ§ νμ΄λ²μ μλν΄λ³΄μλ€. λ§μ§λ§μλ λΉνΈμ°μ°μ νμ΄λ²μ μλνμλλ°, κ·Έλ¬λ μ€ νΉμ΄ν μ μ λ°κ²¬νκ² λμλ€.
bit
μ μλ μνλ²³μ λ§μ‘±νλ λ¨μ΄λ₯Ό μΉ΄μ΄νΈνλ μ½λμμ
- μ΄ νμ΄λ 388ms
int cnt = 0; for (int w : words) cnt += (bit & w) == w ? 1 : 0;
- μ΄ νμ΄λ 176ms
int cnt = 0; for (int w : words) cnt += (bit | w) == bit ? 1 : 0;
λ¬΄μ¨ μ°¨μ΄μΌκΉ? κ²μν΄λ΄λ μ μ λμ€κΈ΄ νλλ°, λ΄ μκ°μλ TRUE νμ μ ORμ λ λΉνΈ μ€ νλλ§ TRUEμ¬λ λκ³ ANDλ λ λ€ TRUEμ¬μΌ νλ κ²μμ μ€λ μ°¨μ΄κ° μλκΉ μΆλ€. μμΌλ‘ ORμ΄ μ¬μ© κ°λ₯ν λΆλΆμμλ ORμ μ°λ κ²μ΄ λ μ’μ κ² κ°λ€λ μκ°μ΄λ€.