주의! 본 게시물은 프로그래머스 '[1차] 비밀 지도' 문제에 대한 중요 내용을 포함하고 있습니다. 풀기 전이시라면 이 점 참고해주시길 바랍니다!
링크: https://school.programmers.co.kr/learn/courses/30/lessons/17681
문제를 읽고 처음 한 생각은 두 배열의 요소를 이진법으로 바꾼 다음 문자열로 만들어줘서 문자열 속 문자가 0 혹은 1중 하나라도 있으면 1로 만들고 1을 '#'으로 0을 ' '로 만들까라는 생각을 했었다. 다음 날 문제를 다시 천천히 읽어보니까 예전 파이썬으로 코딩 테스트를 준비하며 배웠던 비트 연산자라는 아이디어가 떠올랐다. 그렇게 자바스크립트에도 비트 연산자라는 개념이 있나 구글링을 통해 찾아보게 되었고 자바스크립트에도 존재해서 쉽게 해결할 수 있었다. 비트 연산자는 다음과 같이 있다.
- &: 비트의 논리곱을 하는 연산자(비교하는 두 비트가 1이여야 1을 출력하는 연산자. 흔히 말하는 AND 연산자가 해당 연산자).
- |: 비트의 논리합을 하는 연산자(비교하는 두 비트 중 하나라도 1이면 1을 출력하는 연산자. 흔히 말하는 OR 연산자가 해당 연산자).
- ^: 비트의 베타적 논리합을 하는 연산자(비교하는 두 비트 중 하나라도 1이면 0을 출력하는 연산자. 흔히 말하는 XOR 연산자가 해당 연산자).
- ~: 비트의 부정 연산을 하는 연산자
- <<: 왼쪽으로 시프트하는 연산자(비트가 왼쪽으로 움직이는 연산자).
- >>: 오른쪽으로 시프트하는 연산자(비트가 오른쪽으로 움직이는 연산자).
'TIL' 카테고리의 다른 글
TIL - 20221008 (객체와 Map 성능 차이) (0) | 2022.10.08 |
---|---|
TIL - 20221007 (LRU) (0) | 2022.10.07 |
TIL - 20221005 (continue 정리) (1) | 2022.10.05 |
TIL - 20221004 (유클리드 거리와 맨해튼 거리) (1) | 2022.10.04 |
TIL - 20221003 (0) | 2022.10.03 |