티스토리 뷰
반응형
깃허브 : https://github.com/miiingo/codility
Task description
원본 사이트 : https://app.codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/
- A[N] 배열에는 홀수가 들어있으며 각 요소는 동일한 값을 가진 다른 요소(짝이 없는 요소여야함)와 쌍을 이룰 수 있음
- 짝을 이루지 않은 요소의 값 반환
- 가장 효율적인 알고리즘 작성
- A의 값 중 하나를 제외한 모든 값이 짝수 번 발생함 -> 짝을 이루지 않은 요소는 단 한 개 뿐!
Solution
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(A) {
// write your code in JavaScript (Node.js 8.9.4)
let element = new Set();
for(let i in A){
if(!element.has(A[i])){
element.add(A[i]);
}
else{
element.delete(A[i]);
}
}
const result = [...element];
return result[0];
}
- element라는 이름의 set을 생성
- 배열 A를 for문을 돌며 element set에 값이 없으면 해당 값을 추가하고, 있으면 해당 값을 지움
- 결국 element set에는 짝이 없는 요소의 값만 남게 됨 -> 항상 한 개의 값만 남음
- element set은 object 형태이기 때문에 그대로 return하면 오류 발생
- element set을 result Array로 변환한 후 result[0] 값을 return -> 한 개의 값만 있기 때문에 0번째 인덱스를 return
Result
Analysis
반응형
'알고리즘 > Codility' 카테고리의 다른 글
[Codility] Lesson 4: Counting Elements - MissingInteger (javascript) (0) | 2020.04.06 |
---|---|
[Codility] Lesson 3: Time Complexity - TapeEquilibrium (javascript) (0) | 2020.04.02 |
[Codility] Lesson 5: Prefix Sums - CountDiv (javascript) (0) | 2020.03.18 |
[Codility] Lesson 4: Counting Elements - MaxCounters (javascript) (0) | 2020.03.17 |
[Codility] Lesson 3: Time Complexity - FrogJmp (0) | 2020.03.12 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- javascript
- 하이퍼레저 페브릭
- 하이퍼레저 인디
- 블록체인
- 코테
- 빅데이터 기초
- Blockchain
- 어서와 데이터는 처음이지
- 문제풀이
- 블록 체인
- 기초 of 기초 데이터 개념
- ambrosus
- docker
- 코딜리티
- ubuntu
- Hyperledger Fabric
- 알고리즘
- DOCs
- 빅데이터 강의
- Hyperledger Fabric v1.1
- Hyperledger Indy
- codility
- 암브로셔스
- Private Data
- 코딩테스트
- 하이퍼레저 패브릭
- 빅데이터
- Hyperledger Fabric v1.2
- 빅데이터 교육
- 직딩잇템
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함