위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2020년/코테

    [코테 연습] 2018 KAKAO BLIND RECRUITMENT[1차] 다트 게임

    2020. 5. 26. 14:19

    by. 위지원

    카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다.
    갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다.

    1. 다트 게임은 총 3번의 기회로 구성된다.
    2. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다.
    3. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다.
    4. 옵션으로 스타상(*) , 아차상(#)이 존재하며 스타상(*) 당첨 시 해당 점수와 바로 전에 얻은 점수를 각 2배로 만든다. 아차상(#) 당첨 시 해당 점수는 마이너스된다.
    5. 스타상(*)은 첫 번째 기회에서도 나올 수 있다. 이 경우 첫 번째 스타상(*)의 점수만 2배가 된다. (예제 4번 참고)
    6. 스타상(*)의 효과는 다른 스타상(*)의 효과와 중첩될 수 있다. 이 경우 중첩된 스타상(*) 점수는 4배가 된다. (예제 4번 참고)
    7. 스타상(*)의 효과는 아차상(#)의 효과와 중첩될 수 있다. 이 경우 중첩된 아차상(#)의 점수는 -2배가 된다. (예제 5번 참고)
    8. Single(S), Double(D), Triple(T)은 점수마다 하나씩 존재한다.
    9. 스타상(*), 아차상(#)은 점수마다 둘 중 하나만 존재할 수 있으며, 존재하지 않을 수도 있다.

    0~10의 정수와 문자 S, D, T, *, #로 구성된 문자열이 입력될 시 총점수를 반환하는 함수를 작성하라.

     

    이 문제를 위해 정규식을 공부했다 https://weejw.tistory.com/364

     

    python을 이용해서 정규 표현식을 공부해보자(feat.python의 re 라이브러리)

    https://wikidocs.net/4308 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 정규 표현식은 메타 문자를 사용하여 특별한 의미를 갖습니다. 예를 들어 문자 클래스 []를 사용한 [0-9], [a-zA-Z],

    weejw.tistory.com

     

     

    import re
    
    str = '1D2S3T*'
    
    p = re.compile('\d+[A-Z]\W?')
    
    lst = p.findall(str)
    
    for i in range(len(lst)):
        cal = lst[i]
        flag = -1
    
        if '#' in cal:
            cal = cal.replace("#","")
            flag = 0
    
        elif '*' in cal:
            cal = cal.replace("*", "")
            flag = 1
    
        cal = cal.replace("S", "**1")
        cal = cal.replace("D", "**2")
        cal = cal.replace("T", "**3")
    
        if flag == 0:
            cal += '*(-1)'
    
        elif flag == 1:
            cal += '*2'
            if i != 0:
                lst[i-1] += '*2'
    
        lst[i] = cal
        flag = -1
    
    jCal="+".join(lst)
    print(jCal)
    print(eval(jCal))

     

     

    친구 왈.., "? replace() 함수로 10만 변경해주면 끝나는데, 정규식까지 필요없는데"

    위지원의 코딩 실력이 바닥이라는 것은 ,, 이미,,

     

     

    저작자표시 (새창열림)

    '2020년 > 코테' 카테고리의 다른 글

    [코테 연습] 퇴사 PYthon  (0) 2020.05.27
    [코테 연습] 만취한 상범 Python  (0) 2020.05.27
    [코테 연습] 계단 오르기 Python  (0) 2020.05.25
    [코테 연습] RGB거리  (0) 2020.05.06
    [코테 연습] 2xn 타일링  (0) 2020.05.06

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • [코테 연습] 퇴사 PYthon 2020.05.27
    • [코테 연습] 만취한 상범 Python 2020.05.27
    • [코테 연습] 계단 오르기 Python 2020.05.25
    • [코테 연습] RGB거리 2020.05.06
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바