문제98
A new tool for teams & individuals that blends everyday work apps into one.
www.notion.so
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
/********
* 패션의 선도주자 청길이는 패션의 발전을 위해 패션쇼를 방문해 유니크한 아이템을 조사하기로 하였습니다.
* 청길이는 입장하는 사람들의 패션에서
* 처음 보는 아이템 만을 기록합니다.
* 이때 청길이의 기록에서 아래 규칙에 맞게
* 배열로 출력해 주세요.
*
* 1. 청길이는 각 옷의 종류를 정수로 기록해 놓습니다.
* ex) 입력은 "1번: 3,1 2번: 4 3번: 2,1,3 4번: 2,1,3,4" 형태의 문자열입니다.
*
* 2. 기록은 청길이가 번호 순서로 유니크한 옷의 번호를 적습니다.
*
* 3. 유니크한 옷은 기록된 순서로 추출되고 출력됩니다.
* ex) 출력은 [3,1,4,2]입니다.
*
* 입력
* "1번: 4,2,3 2번: 3 3번: 2,3,4,1 4번: 2,3"
* 출력
* [4, 2, 3, 1]
*
* 입력
* "1번: 3,1 2번: 4 3번: 2,1,3 4번: 2,1,3,4"
* 출력
* [3, 1, 4, 2]
* **********/
const test1 = "1번: 4,2,3 2번: 3 3번: 2,3,4,1 4번: 2,3";
const test2 = "1번: 3,1 2번: 4 3번: 2,1,3 4번: 2,1,3,4";
///////////////////////////////////
function mySolution(string){
//0. 입력받은 문자열을 배열로 교체
const all_case = [];
string
.split(/\s*[0-9]번\:\s*/g)
.filter(item => item != "")
.forEach(item => {
const items = item.split(',').map(el => parseInt(el));
all_case.push(items);
});
// console.log(all_case);
//1. 유니크한 아이템 찾아서 입력하기 시작
const unique = [];
all_case.forEach(person=>{
person.forEach(item => {
if(!unique.includes(item)){unique.push(item);}
});
});
//결과출력
console.log(unique);
}//mySolution
mySolution(test1);
mySolution(test2);
|
cs |
유용한 사이트 : 정규식 확인하기 (regexr.com)
'CSS&JS > 코딩테스트' 카테고리의 다른 글
[JS100제]97. 택배 배달 (0) | 2021.12.02 |
---|---|
[JS100제]95번 도장찍기 (0) | 2021.12.02 |
[JS100제]70번 행렬곱하기 관련 (0) | 2021.11.26 |
[JS 100제] 무료 JavaScript 100문제 및 해설 (0) | 2021.11.26 |