TIL_230904

Sol Lee·2023년 9월 19일
0
post-custom-banner

오늘 한 일

프로그래머스 알고리즘 문제 풀기

# 부족한 금액 계산하기

# 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 
# 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.
# 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.
# 단, 금액이 부족하지 않으면 0을 return 하세요.

# 내 코드
def solution(price, money, count):
    answer = sum(i * price for i in range(1,count+1)) - money
    return answer if answer > 0 else 0

# 다른 사람 코드
def solution(price, money, count):
    return max(0,price*(count+1)*count//2-money)

## 나는 answer가 양수인지 음수인지 판단해서 리턴값 결정
## max()로 더 큰 값 리턴하는 방법도 있구먼



# 문자열 다루기 기본

# 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 
# 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

# 내 코드
def solution(s):
    if len(s) != 4 and len(s) != 6:
        return False
    else:
        if s.isdigit():
            return True
        else:
            return False

# 다른 사람 코드
def solution(s):
    return s.isdigit() and len(s) in [4,6]

## 문자열이 숫자이고(isdigit) 길이가 4,6 이면 True 



# 행렬의 덧셈

# 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 
# 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

# 내 코드
def solution(arr1, arr2):
    answer = arr1
    count = 0
    for i,j in zip(arr1, arr2):
        for k in range(len(i)):
            a = i[k] + j[k]
            answer[count][k] = a
        count += 1
    return answer

# 다른 사람 코드
def sumMatrix(A,B):
    answer = [[c + d for c, d in zip(a,b)] for a, b in zip(A,B)]
    return answer

‼️ 이슈 - TemplateDoesNotExist 에러발생

강의에서 시키는 대로 입력하는데 에러가 나서 검색

  1. 추가 앱 선언
  2. templates 폴더 이름 확인

여기까지 확인했는데도 안되어서 다른 방법을 찾아봄

import os

TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates') # 1. TEMPLATE_DIR 선언

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [TEMPLATE_DIR], # 원래 비어있던 곳 -> 2. 여기에 추가
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

참고
https://liebe97.tistory.com/21

profile
직업: 개발자가 되고 싶은 오레오 집사
post-custom-banner

0개의 댓글