Skip to content

Latest commit

Β 

History

History

P1062

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

[baekjoon-1062] κ°€λ₯΄μΉ¨

image

λΉ„νŠΈμ—°μ‚°μž 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을 μ“°λŠ” 것이 더 쒋을 것 κ°™λ‹€λŠ” 생각이닀.

image