[Programmers] (Javascript) 다트게임

2022. 4. 21. 15:13·💯 CodingTest/Programmers
function solution(dartResult) {
    var bonus = new Map([
        ['S',1],
        ['D',2],
        ['T',3]
    ]);
    var option = new Map([
        ['*', 2],
        ['#', -1],
    ]);
    
    var reg = new RegExp(/\d*[SDT][*#]*/,'g');
    var list = dartResult.match(reg);

    var score = new Map();
    var index = 0;
    for (const data of list)
    {   
        var num = parseInt(data.match(/\d+/g));
        var bo = data.match(/[SDT]/g).toString();
        //string의 경우 toString을통해 arr => string으로 변환해주어야 한다.
        score.set(index, num ** bonus.get(bo));

        var op = data.match(/[*#]/g);
        
        if (op !== null)
        {   
            op = op.toString();

            if (op === '*' && index >= 1)
            {
                score.set(index - 1, score.get(index-1) * 2);
            }
            
            score.set(index, score.get(index) * option.get(op));
        }

        index += 1
    }
    
    var answer = 0
    for (var i =0; i<3; i++)
    {
        answer += score.get(i);
    }

    return answer;
}

'💯 CodingTest > Programmers' 카테고리의 다른 글

[Programmers] (Javascript) 로또의 최고 순위와 최저 순위  (0) 2022.04.21
[Programmers] (Javascript) 신고결과 받기  (0) 2022.04.21
[Programmers] 다트게임  (0) 2022.04.18
[Programmers] 비밀지도  (0) 2022.04.18
[Programmers] 실패율  (0) 2022.04.18
'💯 CodingTest/Programmers' 카테고리의 다른 글
  • [Programmers] (Javascript) 로또의 최고 순위와 최저 순위
  • [Programmers] (Javascript) 신고결과 받기
  • [Programmers] 다트게임
  • [Programmers] 비밀지도
S.Honey
S.Honey
  • S.Honey
    Algo 쓰자
    S.Honey
  • 전체
    오늘
    어제
    • 분류 전체보기 (123)
      • 회고 (0)
        • 취업 후 회고 (0)
      • 🏃 Frontend Road-Map (2)
        • 🚩 Summary (1)
        • 📚 Road-Map Contents (1)
        • 🟧 HTML (0)
        • 🟦 CSS (0)
        • 🟨 Javascript (0)
        • ⬜ React (0)
        • 🟪 Redux (0)
      • Backend (0)
        • QueryDSL (0)
      • 💻 Programming Language (54)
        • C# (51)
        • Flutter-Dart (3)
        • Java (0)
      • 📚 Computer Science (4)
        • Algorithms (4)
        • Database (0)
        • Network (0)
        • Operating System(OS) (0)
      • 💯 CodingTest (60)
        • BaekJoon (22)
        • Programmers (34)
        • CodeTree (4)
      • ✒️ Design Pattern (1)
      • 🍱 Etc (2)
        • Jenkins Plugin 제작기 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

      • 📖 공부 참고 교재 및 자료
    • 인기 글

    • 태그

      그래프 탐색
      자료구조
      DP
      삼성sw역테
      코드트리
      파이썬
      프로그래머스
      sort
      알고리즘
      자바스크립트
      Java
      스터디
      JS
      BAEKJOON
      구현
      programmers
      Flutter
      코딩테스트
      쓰셨잖아
      동적 프로그래밍
      Algorithm
      BFS
      백준
      DART
      시뮬레이션
      문자열 파싱
      JavaScript
      이진탐색
      c#
      카카오
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.1
    S.Honey
    [Programmers] (Javascript) 다트게임
    상단으로

    티스토리툴바