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 |
29 | 30 | 31 |
Tags
- typescript
- 리액트
- const 단언문
- 타입스크립트
- 커스텀
- utilty type
- 폰트적용하기
- returnType
- React.js
- Chart.js
- 2022
- vue.js
- 레이아웃쪼개기
- 반복줄이기
- 타입좁히기
- 성능최적화
- click and drag
- 개발콘텐츠
- 누구나 자료구조와 알고리즘
- react
- javascript
- React Native
- CSS
- 제네릭
- TSDoc
- 공통컴포넌트
- NonNullable
- JS console
- reactjs
- 티스토리꾸미기
Archives
- Today
- Total
몽땅뚝딱 개발자
[프로그래머스 | Javascript] Lv.1 모의고사 본문
// answer 1
const 정답패턴 = {
1: [1, 2, 3, 4, 5],
2: [2, 1, 2, 3, 2, 4, 2, 5],
3: [3, 3, 1, 1, 2, 2, 4, 4, 5, 5],
}
function solution(answers) {
const 학생별정답을찍는패턴 = {}
const 학생별정답의수 = {}
const 정답 = new Array(answers.length).fill().map((_, index) => answers[index % answers.length])
Object.values(정답패턴).forEach((array, index) => {
학생별정답을찍는패턴[index + 1] = new Array(answers.length).fill().map((_, index) => array[index % array.length])
})
Object.values(학생별정답을찍는패턴).forEach((array, i) => {
array.forEach((학생이찍은정답, j) => {
if (정답[j] === 학생이찍은정답) {
if (!학생별정답의수[i + 1]) 학생별정답의수[i + 1] = 0
학생별정답의수[i + 1] += 1
}
})
})
const result = []
for (const [key, value] of Object.entries(학생별정답의수)) {
if (Math.max(...Object.values(학생별정답의수)) === value) result.push(Number(key))
}
return result
}
// answer 2
const 정답패턴 = {
1: [1, 2, 3, 4, 5],
2: [2, 1, 2, 3, 2, 4, 2, 5],
3: [3, 3, 1, 1, 2, 2, 4, 4, 5, 5],
}
function solution(answers) {
const 학생별정답의수 = {}
// 각 학생의 정답 패턴을 정답 길이에 맞게 반복시키며 비교
Object.entries(정답패턴).forEach(([학생, 패턴]) => {
const correctCount = answers.filter((answer, index) => answer === 패턴[index % 패턴.length]).length
학생별정답의수[학생] = correctCount
})
// 최고 점수를 받은 학생들 반환
const maxScore = Math.max(...Object.values(학생별정답의수))
return Object.entries(학생별정답의수)
.filter(([_, score]) => score === maxScore)
.map(([학생]) => Number(학생))
}
console.log(solution([1, 2, 3, 4, 5])) // [1]
'Development > 알고리즘' 카테고리의 다른 글
[프로그래머스 | Javascript] Lv.1 동영상 재생기 (1) | 2024.12.02 |
---|---|
[프로그래머스 | Javascript] Lv.1 기사단원의 무기 (0) | 2024.11.25 |
📔 [스터디] 학습노트 - Heap (0) | 2024.01.21 |
[프로그래머스 | Javascript] Lv.3 이중순위우선큐 (0) | 2024.01.21 |
[프로그래머스 | Javascript] Lv.2 다리를 지나는 트럭 (0) | 2024.01.20 |
Comments