일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 봤어요처리
- InteliJ
- 프로그래머스
- oracle
- DART
- REST
- eqauls-hashcode
- svn
- datagrip 한글깨짐
- JavaScript
- 인텔리제이
- 코어자바스크립트
- maven
- flutter mac 설치
- 프로젝트 여러 개
- Aspect
- node.js
- @RequestBody
- Stream
- Spring
- MySQL
- ojdbc6
- TypeScript
- class-transformer
- javascript error
- Java
- tecoble
- SQL
- db
- Mac
Archives
- Today
- Total
개발자가 되고 싶은 개발자
신박한 공배수 풀이 기록 본문
Preface
- 가독성이 떨어지지만, 사고력 측면에서 생각하지 못한 방식이어서 기록합니다.
문제
- n,m이 number의 공배수이면 1 아니면 0을 return.
풀이
- 둘 다 공배수일 경우
- 나머지가 둘 다 0 이기 때문에 ( 0 | | 0 ) 연산은 false가 됩니다.
- 괄호 바깥 부분의 부정연산자(!)로 인해 true가 됩니다.
- + 연산자로 인해 논리연산자 true가 숫자형으로 변환되어 1로 반환됩니다.
- 둘 다 공배수가 아닐 경우
- 각 나머지 연산에서 나머지가 존재하면 0이 아니게 되므로 값이 1 이상이 되어 true가 됩니다.
- 괄호 바깥 부분의 부정연산자(!)로 인해 false가 됩니다.
- + 연산자로 인해 논리연산자 false가 숫자형으로 변환되어 0으로 반환됩니다.
function getCommonMultiple(number, n, m) {
return +!(number % n || number % m);
}
'Dev > Algorithm' 카테고리의 다른 글
SQL) 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2023.05.18 |
---|---|
[Algorithm] 유형 목록 (0) | 2022.06.11 |
[Algorithm] 프로그래머스 레벨2 124나라의 숫자 (0) | 2022.01.06 |
[Algorithm] Euclidean Algorithm (0) | 2021.11.07 |
[Algorithm] Greedy Algorithm (0) | 2021.11.02 |