본문 바로가기

개발일지/TIL

TIL 23-03-27

1.파이썬 개인 과제 

 문제점

마나 회복시 최대 마나량을 넘김

 시도해 본 것들

최대치를 넘어가면 -1로 현재 마나량을 줄이기

현재마나가 최대 마나보다 커지면 현재 마나를 최대 마나로 바꾸기

 해결 방법

모체 클래스에 아래의 코드를 작성해서 일괄적으로 제한

if self.max_mana < self.mana:
            self.mana = self.max_mana

 알게 된 점

개선하고 싶은 곳은 한가득인데 시간은 한정됐고 내 실력으로 해결 가능한 부분이 어디인지 알기 어렵다.

 

2.프로그래머스 알고리즘 문제 -  숨어있는 숫자의 덧셈(1)

 문제점

정답은 잘 나오지만 팀원들의 코드에 비해 불필요한 부분이 많았다.

def solution(my_string):
    answer = 0
    for i in range(1, len(my_string)+1):
        if my_string[i-1].isdigit():
            answer += int(my_string[i-1])
    return answer

 시도해 본 것들

range 제거 

len 제거 

def solution(my_string):
    answer = 0
    for i in my_string:
        if my_string.isdigit():
            print(my_string)
            answer += int(my_string[i])
    return answer

 print() 문 출력 X

 if문 my_string, i로 교체

 해결 방법

def solution(my_string):
    answer = 0
    for i in my_string:
        if i.isdigit():
            answer += int(i)
    return answer

 알게 된 점

for문을 사용할 때 range가 만능이 아니라는 점을 배웠다.

i를 문자열로 주면 range나 slice를 사용하지 않아도 원하는 결과를 얻을 수 있다.

 

 

 

'개발일지 > TIL' 카테고리의 다른 글

TIL 23-03-29  (0) 2023.03.29
TIL 23-03-28  (0) 2023.03.28
TIL 23-03-26  (0) 2023.03.26
TIL 23-03-25  (0) 2023.03.25
TIL 23-03-24  (1) 2023.03.24