일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 타입 좁히기
- 이분 검색
- CORS
- 인터섹션
- 태그된 유니온
- useAppDispatch
- CI/CD
- dfs
- 호이스팅
- recoil
- map
- 투포인터
- autosize
- 반공변성
- Promise
- 공변성
- React
- RTK Query
- app router
- tailwind
- Cypress
- 리터럴 타입
- async/await
- TS
- 결정 알고리즘
- SSR
- 무한 스크롤
- webpack
- Jest
- ESlint
Archives
- Today
- Total
짧은코딩
등수구하기 본문
반응형
해결법
이 문제는 우선 입력된 점수 길이 만큼의 1로 이루어진 배열을 만들어야한다. 그리고 이중 for문을 두고 첫번째 for문 i를 기준으로 비교하면서 두번째 for문 j를 비교한다. i번째 있는 점수가 j번째 있는 점수보다 작으면 등수를 올려야해서 처음 만들 배열에 i 번째 위치를 +1을 해준다.
강사님 코드
<html>
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr) {
let n = arr.length;
let answer = Array.from({ length: n }, () => 1);
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length; j++) {
if (arr[i] < arr[j]) answer[i] += 1;
}
}
return answer;
}
let arr = [87, 89, 92, 100, 76];
console.log(solution(arr));
</script>
</body>
</html>
Array.from을 사용하면 1을 n개 만큼 가진 배열을 쉽게 만들 수 있다.
반응형
'코딩테스트 with JS > 자바스크립트 알고리즘 문제풀이(인프런)' 카테고리의 다른 글
유효한 팰린드롬 (0) | 2022.08.14 |
---|---|
회문 문자열 (0) | 2022.08.13 |
가위 바위 보 (0) | 2022.08.11 |
중복 문자 제거, indexOf (0) | 2022.08.10 |
substr(), substring(), slice() (0) | 2022.08.10 |
Comments