[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)
  • 블로그 메뉴

    • 링크

    • 공지사항

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

    • 태그

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

    • 최근 글

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

    티스토리툴바