
아직까진 쉬운 문제들이 나오고 있다.
parameter로 입력받는 배열 A는 N개의 자연수로 이루어진 배열이고, A에 들어가는 숫자들은 1 ~ N + 1의 범위에 속하는 임의의 자연수들이며, 각 정수는 고유한 값을 가진다. 이 때 1 ~ N + 1에 해당하는 자연수들 중 어떤 자연수 하나만 A에 포함되지 않는데, 그 자연수를 찾는 문제이다.
나는 Set이나 Map을 사용하는걸 좋아하는 편이라 이번에도 그렇게 문제를 풀었다.
|
function solution(A) {
const set = new Set(
Array.from({ length: A.length + 1 }, (_, i) => i + 1)
); // 1 부터 (A의 길이 + 1) 만큼의 자연수들을 갖는 Set을 생성
// A에 속한 숫자를 for로 돌리면서 set에서 그 숫자를 제거 A.forEach(num => set.delete(num));
// 유일하게 남은 숫자를 return return [...set.keys()][0];
}
|
결과

'공부 > 알고리즘' 카테고리의 다른 글
| Codility - Lesson 4 : MissingInteger (0) | 2022.03.28 |
|---|---|
| Codility - Lesson 4 : MaxCounters (0) | 2022.03.24 |
| Codility - Lesson 4: FrogRiverOne (0) | 2022.03.24 |
| Codility - Lesson 2 : OddOcurrencesInArray (0) | 2022.03.20 |
| Codility - Lesson 1 : Iterations (0) | 2022.03.20 |