[TIL] 자료구조 알고리즘_월요일

유진·2022년 11월 15일
0

TIL Today I Learned

목록 보기
11/116
post-thumbnail

2022.11.14.(월)

TIL Today I Learned


Good: 팩토리얼 강의를 듣고 틀렸던 문제를 다시 풀어본 점.

Bad: 대원들과 알고리즘 진도를 맞추지 못한 점이 아쉽지만 나는 나대로 나아가야한다.


[ 팀 대원과 함께하는 알고리즘 풀이]

▶ 오늘 아침에도 어김없이 팀 대원들과 프로그래머스로 문제를 풀었다. 나는 알고리즘보단 리액트 공부를 더 많이 하고 있던 참이라 다른 사람들과 진도가 다르다. 다들 잘 맞추시길래 내일 분발하기 위해 공부를 했다. 재귀함수, 팩토리얼, 탈출 조건 오늘 아침까지 무슨 말인지 몰랐는데 공부하니까 이해가 되었다.

✍️ Q i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 4 3 2 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.

▶ 틀린 코드)

# 가장 큰 정수 ni = n * (n-1) * (n-2)
# max = i, 
def find_max_num(array):
    for compare_num < array:
        if num < compare_num:
            break
        else:
            return num

▶ 옳은 코드)

N = int(input())

def factorial(n):

  if n > 2:
    n *= factorial(n-1)
  elif n == 0:
    n = 1

  return n

def solution(num):
  print(factorial(num))

solution(N)
  • 팩토리얼 강의를 보기 전에 문제를 풀었다. 알고리즘 자료구조 1-4강에 max를 이용한 함수가 생각나서 우선 적었다. 그에 맞춰서 조금씩 바꿔봐야겠다는 생각하고 있었다. 하지만 방법이 틀렸기에 잘 안되었다.

  • 알고리즘 자료구조 2-8강 재귀함수를 듣고 다시 풀었다.


[ 내일배움캠프 매니저님들의 도움]

▶ 알고리즘 풀이 과정의 좋은 사례 소개

고민한 내용을 글로 표현할 때, 메모장 등에 적어보셔도 좋지만, 주석으로 작성해도 좋아요.
실제로 배민 코테 1회 만점자 분이 문제를 풀 때 고민한 내용을 모두 주석으로 작성한 뒤, 그 주석을 코드로 하나씩 변환해서 문제를 풀었다고 해요.
문제를 다 풀고서 불필요한 주석은 모두 삭제하고 중요한 부분만 남겨두었다고 하는데요.물론 코드 작성도 잘했지만 그 과정 자체가 좋게 평가되어 만점을 받게 되었고 사내에서도 레전드로 평가 받았다고 합니다.
(대부분 코테 과정은 풀녹화 되기 때문에 풀이 과정도 같이 녹화된 거죠!)
-최양임 내배캠 매니저님

▶ 학습 목표 설정

학습이 어렵다면 지금 당장 마스터하는 것에 스트레스 받지마시고,
내배캠 수료 때까지 프로그래머스 lv.2에 있는 문제들을 다 풀어보는 것을 목표로 해봅시다.
(lv.2가 기준인 이유는 대부분의 회사에서 lv.2에 있는 문제를 다 풀면 코테는 통과할 수 있고,대기업은 lv2와 lv3반 정도를 풀 수 있으면 통과가 가능하다는 것이 학계의 정설입니다)
-최양임 내배캠 매니저님

▶ 방향 설정

리액트 배우러 왔는데 주객전도가 되면 안 되죠. 하지만 꾸준히 하는 것이 좋습니다.
-김태인 담임 매니저님


[ 3주차 계획 ]

  • 스파르타코딩클럽 계획

    ✔ 월: 자료구조 알고리즘

□ 화: 자료구조 알고리즘 / javascript 올인원

□ 수: javascript 올인원

□ 목: 특강

□ 금: 기초 프로젝트

  • 나의 계획

□ 프로그래머스 0 Level 10문제 매일 풀기

profile
긍정 🍋🌻

0개의 댓글