[Algorithm] 정수 삼각형 , 3월에 태어난 여성 회원 목록 출력하기, 평균 일일 대여 요금 구하기

리쫑·2023년 1월 22일

Algorithm

목록 보기
5/16

정수 삼각형

🤡정수 삼각형 (Lv.3)

🤑풀이

def solution(triangle):
    for i in range(1, len(triangle)) :
        for j in range(len(triangle[i])) :
            if j == 0 :
                triangle[i][j] += triangle[i-1][j]
            elif j < i :
                triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j])
            else :
                triangle[i][j] += triangle[i-1][j-1]
    return max(triangle[-1])

👩‍🏫 아이디어

  • 2차원 구조 이므로 두번의 반복문이 들어 갈 것이며, 행과 열에 대한 이중 반복문 일 것 이라고 파악.
  • 한 행에 대한 반복문이 진행되면, 행에 대한 연산이 마무리 될 수 있도록 설계하는 것이 문제를 단순화 하는 것에 도움이 됨.
  • Triangle(i,j)Triangle(i, j)의 값에 영향을 미칠 수 있는 변수들은 Triangle(i,j)Triangle(i, j)Triangle(i1,j1)Triangle(i-1, j-1)Triangle(i1,j)Triangle(i-1, j)이며 이들의 관계를 통해 점화식을 세울 수 있음.
  • 또한, 대부분에 상황에서 첫번째와 마지막 부분에 필요한 튜닝이 필요하고 이를 고민하여 적용함.

점화식

Triangle[i][j]={Triangle[i][j]+Triangle[i1][j] if j=0Triangle[i][j]+max(Triangle[i1][j],Triangle[i1][j1]) if 0<j<iTriangle[i][j]+Triangle[i1][j1] if j=iTriangle[i][j] = \begin{cases} Triangle[i][j] + Triangle[i-1][j] & \text{ if } j= 0 \\ Triangle[i][j] + \mathbf{max}\left (Triangle[i-1][j], Triangle[i-1][j-1] \right )& \text{ if } 0<j<i \\ Triangle[i][j] + Triangle[i-1][j-1] & \text{ if } j= i \end{cases}

3월에 태어난 여성 회원 목록 출력하기

🤡SQL.3월에 태어난 여성 회원 목록 출력하기 (Lv.2)

🤑풀이

SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') FROM MEMBER_PROFILE
        WHERE MONTH(DATE_OF_BIRTH) = 3 AND GENDER = 'W' AND TLNO IS NOT NULL
        ORDER BY MEMBER_ID ASC;

평균 일일 대여 요금 구하기

🤡SQL. 평균 일일 대여 요금 구하기(Lv.1)

🤑풀이

SELECT FLOOR(AVG(DAILY_FEE)) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR
        WHERE CAR_TYPE = 'SUV';
profile
AI, Data Scientist 취업 준비생 입니다. 공부한 내용을 포스팅하고자 합니다. 방문해주셔서 감사합니다

0개의 댓글