카테고리 없음

49일차 아침퀴즈 and 파이썬 알고리즘 문제 풀이

승현0604 2022. 11. 10. 20:58

오늘한일 

1. drf아침퀴즈 문제풀기

 

오늘아침에는 간단한 아침퀴즈가 진행했었따. 

username이 아닌 email과 password로 회원가입로그인을 구현을 하고 커스텀마이즈를 통해서 admin에 조회하게금하는 프로그램을 짜라는게 오늘의 타임어택이였다. 

회원가입 구현

로그인에서 문제가 생겼었는데 문제가 무었이었냐 

 

분명 회원가입을 email과 password로 했는데 로그인을 할려고하니 username도 같이 기재하라는 문제점이 발생을 하였던것이였다. 

 

문제점을 찾은것이 settings 에서 user라는 모델명을 잘못기재해서 생긴 문제점이였다. 그러다보니 내가 설정한 모델이 제대로 적용이 되지 않아서 생긴 문제인걸로 생각이 된다. (자세한건...왜되는거지...라는생각이든다)

모델명 = Myuser
잘못기재된 model명

아무래도 시간에 쫓겨서 내가 익숙해했던 단어들을 적다보니 세세하게 살펴보지 못한부분이 컸던것같다. 그래서 타임어택 구현은 못했지만 문제 해결은 완료를 하였다. 

cjstmdgusqw/mornigquiz_drf (github.com)

 

GitHub - cjstmdgusqw/mornigquiz_drf

Contribute to cjstmdgusqw/mornigquiz_drf development by creating an account on GitHub.

github.com

2. 파이썬 알고리즘 문제풀이

 

오늘 풀었던 문제 요약 

강민철 튜터님이 진행해주시는 파이썬 프로그래머스 문제들을 오늘 해답과 풀이를 보면서 같이 문제를 해결해보았다. 

 

첫번째 문제는 코딩테스트 연습 - 약수의 개수와 덧셈 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

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

programmers.co.kr

약수의 개수와 덧셈이다. 이 문제에 대해서 풀어주시면서 얘기를 해주셨던 중요한분은 바로 '생각쪼개기'라고 하셨다. 

이 문제에서는 생각해야할 부분들이 많은데 첫번째로는 두 숫자 사이의 값들 구하기 두번째로는 숫자 하나하나의 약수를 구해야하고 세번째로는 그 약수의 갯수를 새야한다는 것이다 문제풀이로 예를 들자면 

def solution(left, right):
    answer = 0
    O = []
    for i in range(left, right+1):  # 1. 두 숫자사이의 값들
        V = []
        for j in range(1, i+1): # 2. 각 숫자들의 약수를 배열안에 넣어놓기
            if i % j == 0: 
                V.append(j)
        if len(V) % 2 == 0:    # 3. 각 숫자의 약수의 개수가 짝인지 홀인지를 결정을 하고 양수 음수 부여하기 
            O.append(i)
        else:
            O.append(-i)
        answer = sum(O)   # 배열의 합을 구하여 최종값 구하기     
    return answer


solution(2,4)

 이렇게 생각을 쪼개면서 풀어야한다는 점을 강조를 하셨다. 물론 아쉬운점이 프로젝트로 인해서 시간이 많이없기도했긴했지만 다음주부터는 다 풀수 있을 것 같다.

 

두 번째 강조를 해주셨던부분은 테스트를 볼때 '그림'을 중요시하라 이다.

두번째 문제를 보면 

코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

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

programmers.co.kr

다음 문제를 살펴보면 그 코드에 대한 문제가 나오는데 그 문제를 보고 힌트를 많이 얻어야한다고 얘기를 하셨다. 사실 이문제는 오늘 못풀었던 문제중에 하나였는데 어느정도 교정을 받고 풀어보니 금방 풀렸었다. 

 

아쉬운점이 있다면 시간이 부족해서 더 깊이생각해볼 시간이 없었다는거다. 뭐 실제 코딩테스트는 그런핑계도없이 빨리풀어야하긴하지만 그냥 개인적인 아쉬움이다. 

그리고 요새 진로에 대한 고민과 절망으로 인해서 마음고생도 많이하고해서 코딩공부에 대해서 손을 약간 놓은것같았는데 오늘부로 다시 다짐을 했다. 그래서 그동안 TIL도 솔직히 대충 적었는데 이제부터라도 다시마음을 잡아서 다시 옛날초심으로 돌아가야할것같다. 앞으로도 열심히 하겠따!!!