코딩 테스트 챌린지

[8월 코테 챌린지] 프로그래머스 :: (Lv0) 225개 (Lv1) 63개 (Lv2) 34개 (Lv3) 4개 // 누적 326개

  • -
728x90
반응형

2024/08/27

(Lv0) 225개 (Lv1) 63개 (Lv2) 34개 (Lv3) 4개 // 누적 326개


풀이한 문제

Lv1

  1. [1차] 다트 게임
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 풀이

def solution(dartResult):
    answer = 0 ; k = []
    a = 0
    num = [str(i) for i in range(11)]
    for i in range(len(dartResult)):
        if dartResult[i]=="S":
            if dartResult[i-1]=='0':
                if i>=2 and dartResult[i-2]=='1':
                    a = 10
                else:
                    a = 0
            else:
                a = int(dartResult[i-1])
            if i+1 <= len(dartResult)-1:
                if dartResult[i+1] == "*":
                    if k != []:
                        k[-1] = k[-1]*2
                    a = (a*2)
                elif dartResult[i+1] == "#":
                    a = (a*(-1))
            k.append(a)

        elif dartResult[i]=="D":
            if dartResult[i-1]=='0':
                if i>=2 and dartResult[i-2] in num:
                    a = 10
                else:
                    a = 0
            else:
                a = int(dartResult[i-1])
            if i+1 <= len(dartResult)-1:
                if dartResult[i+1] == "*":
                    if k != []:
                        k[-1] = k[-1]*2
                    a = ((a**2)*2)
                elif dartResult[i+1] == "#":
                    a = ((a**2)*(-1))
                else:
                    a = a**2
            else:
                a = a**2
            k.append(a)

        elif dartResult[i]=="T":
            if dartResult[i-1]=='0':
                if i>=2 and dartResult[i-2] in num:
                    a = 10
                else:
                    a = 0
            else:
                a = int(dartResult[i-1])
            if i+1 <= len(dartResult)-1:
                if dartResult[i+1] == "*":
                    if k != []:
                        k[-1] = k[-1]*2
                    a = ((a**3)*2)
                elif dartResult[i+1] == "#":
                    a = ((a**3)*(-1))
                else:
                    a = a**3
            else:
                a = a**3
            k.append(a)
    return sum(k)

 

 

Lv1. [1차] 다트 게임

문제 보기 :  [1차] 다트 게임  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받

dtdiary.tistory.com


미완성 문제

Lv2

  1. 구명보트
  2. 피로도
320x100
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.