[level 1] 로또의 최고 순위와 최저 순위

2022. 1. 31. 10:37·알고리즘/JavaScript

문제

 

 

풀이 코드

function solution(lottos, win_nums) {
  let count = 0;
  let point = [];

  for (let i = 0; i < win_nums.length; i++) {
    if (lottos.indexOf(win_nums[i]) != -1) count++;
  }
  point.push(count < 2 ? 6 : 7 - count);

  for (let i = 0; i < lottos.length; i++) {
    if (lottos[i] === 0) {
      count++;
    }
  }
  point.push(count < 2 ? 6 : 7 - count);
  return point.sort((a, b) => a - b);
}

 

풀이 과정

for 루프를 각각 두번 돌려 배열에 순위를 할당해 주었다.

비교적 간단한 문제였다 이 문제를 풀며 배운것은 indexOf 로 배열 내의 특정 값을 찾을수 있다는것이다!

값을 찾지 못하면 -1을 반환하고, 찾았다면 해당 인덱스를 반환해준다

 

그렇게 해서 최초로 일치하는수 를  7에서 빼주면 최저 순위가 되고,

 

0인 부분이 모두 일치했을때도 count를 올려주고 최고 순위를 계산해 주었다.

 

다른사람의 코드

function solution(lottos, win_nums) {
    const rank = [6, 6, 5, 4, 3, 2, 1];

    let minCount = lottos.filter(v => win_nums.includes(v)).length;
    let zeroCount = lottos.filter(v => !v).length;

    const maxCount = minCount + zeroCount;

    return [rank[maxCount], rank[minCount]];
}

아 filter를 이용하여 풀수있었다.

게다가 include 를 사용할수 있다.

더 공부해 봐야겠다

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 2] JadenCase 문자열 만들기
  • [level 1] 완주 하지 못한 선수
  • [level 1] 음양 더하기
  • [level 1] 비밀 지도
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (185)
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (73)
        • 자료구조 개념 (2)
        • Swift (24)
        • JavaScript (47)
      • ---- 회고 계획 컨텐츠 ---- (0)
      • 계획 및 일기 (10)
      • 회고록 (1)
      • 컨퍼런스 탐방 (1)
      • 미드로 영린이 탈출하기 (1)
      • ---- Previous content ---- (0)
      • Frontend (2)
        • HTML & CSS (2)
      • KITRI 수업 (17)
        • 리눅스 (14)
        • 네트워크 (2)
      • 42seoul (17)
        • Bonr2code (9)
        • 넋두리 (7)
        • 멘토특강 (1)
      • 해킹 실습 (20)
        • 해커스쿨 - F.T.Z (19)
        • WebGoat (1)
      • Tensorflow로 시작하는 NLP (1)
        • 예제 (1)
      • 자연어처리 입문 (1)
        • 이론 (1)
      • 텐서플로로 배우는 딥러닝 (7)
        • 이론 (2)
        • 예제 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    javascript
    스위프트
    42서울
    SwiftUI
    1서클
    hig
    본과정
    42seoul
    라피신
    알고리즘
    IOS
    자료구조
    프로그래머스
    개발자
    Algorithm
    백준
    boj
    swift
    네트워크
    코딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] 로또의 최고 순위와 최저 순위
상단으로

티스토리툴바