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문제 매일 풀기