Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코틀린
- 안드로이드
- SpringBoot
- JS
- RecyclerView
- 오버라이딩
- 랜덤넘버
- Linux
- 리액트
- Java
- 구글맵스
- JavaScript
- fragment
- 랜덤번호
- React
- TypeScript
- npm
- Javscript
- TextView
- 스프링부트
- GoogleMaps
- nodejs
- Android
- array
- Kotlin
- stylesheet
- button
- Hook
- 자바스크립트
- scrollview
Archives
- Today
- Total
타닥타닥 개발자의 일상
[JS, JavaScript] Map 자료구조 개념 이해를 체크하기 위한 간단한 코딩문제 풀어보기 본문
코딩 기록/JavaScript
[JS, JavaScript] Map 자료구조 개념 이해를 체크하기 위한 간단한 코딩문제 풀어보기
NomadHaven 2023. 6. 2. 14:53
gameEnvets 라는 이름의 Map은 축구 경기동안 발생한 사건과 시간의 자료를 담은 자료구조이다.
첫번재 key 값은 경기 시작 이후 사건이 발생한 시간이며
두번재 value 값은 해당 시간에 발생한 사건이다.
const gameEvents = new Map([
[17, '⚽ GOAL'],
[36, '🔛 Substitution'],
[47, '⚽ GOAL'],
[61, '🔛 Substitution'],
[64, '🟨 Yellow card'],
[69, '🟥 Red card'],
[70, '🔛 Substitution'],
[72, '🔛 Substitution'],
[76, '⚽ GOAL'],
[80, '⚽ GOAL'],
[92, '🟨 Yellow card'],
]);
해당 사항을 참고하여 아래의 문제를 JS 언어로 풀어보자.
Q1) 중복이 없는 사건으로만 구성된 events라는 배열을 만들어라.
A1)
const events = [...new Set(gameEvents.values())];
console.log(events);
Q2) 경기가 끝난 후 64분 경의 옐로우 카드는 부적격 판정을 받았다. 해당 시간에 일어난 사건은 삭제하라.
A2)
gameEvents.delete(64);
console.log(gameEvents);
Q3) 경기 시간 동안 평균 몇분마다 사건이 일어났는지 계산하고 해당 결과를 출력하라.
A3)
//마지막 key 값 찾기(마지막 시간 찾기 위해서) const time = [...gameEvents.keys()].pop(); console.log(time); //이벤트 일어나는 시간의 평균 출력 console.log( `An event happened, on average, every ${time / gameEvents.size} minutes` );
Q4) 각 이벤트가 일어날 때마다 [FIRST HALF] 17: ⚽ GOAL 과 같은 형식의 문장을 출력하라. 참고로 45분 이후 발생한 사건은 후반전이므로 [FIRST HALF] 대신 [SENCOND HALF]로 출력되어야 한다.
A4)
for (const [min, event] of gameEvents) { const half = min <= 45 ? 'First' : 'Second'; console.log(`[${half} HALF] ${min}: ${event}`); }
'코딩 기록 > JavaScript' 카테고리의 다른 글
Comments