[TIL] 정글 93일차 - 나만의 무기에 앞서

신승준·2022년 6월 30일
0

알고리즘

프로그래머스

  • Level 1
    • 약수의 합
function solution(n) {
    let result = 0;
    
    for (let i = 1; i <= n; i++) {
        if ((n % i) == 0) {
            result += i
        }
    }
    
    return result
}
  • Level 1
    • 다트 게임
def solution(dartResult):
    nums = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
    bonuses = {'S': 1, 'D': 2, 'T': 3}
    options = {'*': 2, '#': -1}
    current_num = -1
    result = list()
    
    for i in range(len(dartResult)):
        if dartResult[i] in nums:
            if dartResult[i] == '1' and dartResult[i + 1] == '0' or dartResult[i - 1] == '1' and dartResult[i] == '0':
                current_num = 10
                
            else:
                current_num = int(dartResult[i])
            
        if dartResult[i] in bonuses.keys():
            result.append(current_num ** bonuses[dartResult[i]])
            
        if dartResult[i] == '*':
            result[-1] *= 2
            
            if i != 2:
                result[-2] *= 2

        elif dartResult[i] == '#':
            result[-1] *= -1
            
    return sum(result)
  • 숫자가 10일 때, 10인지, 0인지, 1인지 판별할 수 있어야 한다.
  • 그리고 *일 때 1개의 숫자 이후 *이 나온 거라면 1개만 곱하기 2를 해주어야 하고, 2개의 숫자 이후 나온거라면 2개를 곱하기 2 해주어야 한다.
  • 일단 점수와 보너스가 만나면 result에 계산한 값을 넣어주었다. 그리고 옵션이 등장하면 옵션에 맞게 result의 값을 변경한 후, 마지막에 result의 값들을 합산하였다.

언어

C

JavaScript

Python


궁금한 점

하루를 마치고

나의 역할이 크다고 생각한다. 우리팀은 프론트엔드의 역량이 객관적으로 아직 많이 없는 편이다. 하지만 진짜 잘하고 싶다. 누구보다 노력해서, 그리고 잘 이해해서, 누구보다 신박한 내용과 참신한 재미로, 내가 얼마나 성장했는지 보여주고 싶고 나 또한 내가 얼마나 성장할 수 있는지 확인하고 싶다.

profile
메타몽 닮음 :) email: alohajune22@gmail.com

0개의 댓글