광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (154)
    • 알고리즘 (100)
      • 알고리즘 개념 (2)
      • 문제 풀이 (96)
    • 주절주절 (19)
      • 자격증, 활동 후기 (4)
      • 전시회 후기 (3)
      • 이모저모 (2)
      • 회고 (3)
      • 뜨럼 (7)
    • 운영체제 (9)
    • 개발 지식 (9)
      • Apple Watch (4)
      • MySQL (2)
      • Eclipse (1)
      • XCode (1)
    • 네트워크 공부 (1)
    • 데이터베이스 공부 (5)
    • Java 공부 (7)
    • TMP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 애플워치 앱 만들기
  • 개념
  • 백준
  • 드린이
  • DP
  • BFS
  • 컴퓨터 사이언스
  • 오블완
  • 운영체제
  • BOJ
  • 다이나믹 프로그래밍
  • 파이썬
  • 프로그래머스
  • 티스토리챌린지
  • OS
  • 합주
  • 애플워치 앱
  • 알고리즘
  • 자바
  • 구현

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
광규니

광규니네

알고리즘/문제 풀이

[Python/파이썬 프로그래머스] 다트게임(카카오)

2021. 6. 30. 21:54
반응형

https://programmers.co.kr/learn/courses/30/lessons/17682

 

코딩테스트 연습 - [1차] 다트 게임

 

programmers.co.kr

 

풀이

보고 한 15분정도는 고민한 문제

처음 접근은 문자열로 편하게 먼저 구현하려다가

그냥 리스트형식으로 바꿨습니다...

 

10점일때를 어떻게 고려할까 생각하다가

문자열로 특수한 경우(s,d,t,*,#) 인 경우를 먼저 걸러준 뒤 tmp 값으로 숫자를 받고

s,d,t인 경우 해당 값의 제곱등... 넣어저고

* 일 경우 인덱스 값 고려하구, # 일 경우 -1 곱...

def solution(dartResult):
    tmp=''
    lst_idx=-1

    lst=[]
    dartResult=list(dartResult)
    for i in range(len(dartResult)):
        if dartResult[i]=='S':
            lst.append(int(tmp))
            lst_idx+=1
            tmp=''
        elif dartResult[i]=='D':
            lst.append(int(tmp)**2)
            lst_idx+=1
            tmp=''
        elif dartResult[i]=='T':
            lst.append(int(tmp)**3)
            lst_idx+=1
            tmp=''
        elif dartResult[i]=='*':
            if lst_idx==0:
                lst[lst_idx]*=2
            else:
                lst[lst_idx-1]*=2
                lst[lst_idx]*=2
        elif dartResult[i]=='#':
            lst[lst_idx]*=-1
        else:
            tmp+=dartResult[i]
            
    return sum(lst)

한번에 풀어서 기분 좋은 문제!!

반응형
저작자표시 (새창열림)

'알고리즘 > 문제 풀이' 카테고리의 다른 글

[JAVA/자바 1992 백준] 쿼드트리  (0) 2021.08.18
[JAVA SWEA 1210 ] Ladder1  (0) 2021.08.04
[Python/파이썬 프로그래머스] 실패율  (0) 2021.06.29
[파이썬/Python 프로그래머스] 체육복  (0) 2021.06.28
[Python/파이썬 백준 1339] 단어 수학  (0) 2021.06.02
    '알고리즘/문제 풀이' 카테고리의 다른 글
    • [JAVA/자바 1992 백준] 쿼드트리
    • [JAVA SWEA 1210 ] Ladder1
    • [Python/파이썬 프로그래머스] 실패율
    • [파이썬/Python 프로그래머스] 체육복
    광규니
    광규니
    공부 및 일상 올리기~

    티스토리툴바