티스토리 뷰
반응형
// 1.
const fs = require('fs');
const [ , card, , check ] = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const deck = new Set(card.split(' '));
const targets = check.split(' ');
// 2.
let result = [];
for(const target of targets) {
deck.has(target) ?
result.push(1) :
result.push(0);
};
// 3.
console.log(result.join(' '));
- 구조 분해 할당은 필요 없는 값을 버릴 수 있음을 활용하여 상근이의 카드를 deck, 비교 대상을 targets에 초기화한다.
- Feedback: targets은 어차피 다 돌아야 하므로 굳이 Set을 사용할 필요 없다.
- 비교 대상은 어차피 모두 순회해야하므로 for of문을 사용한다. Set에 값이 있는지 확인하기 위해 has 메소드를 사용한다.
- 결과는 배열 형태로 result에 초기화되어 있으므로, join 메소드를 사용하여 출력 형식을 맞춰준다.
결과
154812 KB / 788 ms
메모
- 처음에는 Set이 아닌 배열과 indexOf를 사용하였으나, 시간초과에 의해 실패하였음.
- 해당 문제와 같이 비교 대상이 너무 많은 경우에는 시간 복잡도가 O(1)인 Set을 사용하는 것이 더 유리하다는 피드백을 반영하였음.
'Dev. > coding test' 카테고리의 다른 글
[BaekJoon] 15829 Hashing (node.js) (0) | 2021.07.05 |
---|---|
[BaekJoon] 2869 달팽이는 올라가고 싶다 (node.js) (0) | 2021.07.05 |
[BaekJoon] 11399 ATM (node.js) (0) | 2021.06.30 |
[BaekJoon] 1181 단어 정렬 (node.js) (0) | 2021.06.30 |
[BaekJoon] 2309 일곱난쟁이 (node.js) (0) | 2021.06.22 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RancherDesktop
- pgloader
- Docker
- AWS
- Database
- eureka
- 코딩테스트
- AWS IoT
- JPA
- jQuery
- hashicorp
- Gradle
- postgresql
- Java
- Puppeteer
- shell
- mysql
- spring boot
- react
- JEST
- Git
- IntelliJ
- Vault
- Linux
- etc
- terraform
- kotlin
- Node.js
- javascript
- Spring Cloud Config
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함