이 문제를 풀려고 소인수분해에 대해서 자세하게 다시 공부했다.
소인수분해란? 1보다 큰 자연수를 소인수(소수인 인수)들만의 곱으로 나타내는 것
정수 N을 2부터 시작하여 나눠서 0이 되면 다시 2부터, 나눠지지 않으면 1씩 증가시켜 N이 1이 될 때까지 반복을 하여 문제를 해결했다.
N = int(input())
for i in range(2, N+1):
if N == 1:
break
while N > 1:
if N % i == 0:
print(i)
N = N/i
else:
break
코딩 테스트
여러 문제를 풀어감에 어떤 알고리즘을 구상해야하는가에 대한 실력이 늘고 있음이 느껴진다.
하지만 시간 복잡도까지 고려한 알고리즘을 구상하는 실력은 여전히 부족하다.
알고리즘을 못 찾아서 문제를 틀리는 경우보다 시간 복잡도를 만족하지 못하여 틀리는 경우가 더 많다.
앞으로 코딩 테스트를 공부하는 방향을 시간 복잡도에 대한 개념을 중점으로 생각해야겠다.
Hadoop 강의
하둡 에코시스템을 구축하기 위해서 EC2 ubuntu 서버에서 환경변수, conf 등 이런저런 설정을 했다.
강사님께서 DE는 환경 셋팅이 반이다라고 하셨는데, 내가 느끼기엔 반 이상으로 느껴졌다.
강사님의 시범을 따라하면서 환경을 세팅하는데 강의 속도가 빨라서 따라 하는 것조차 힘들었다.
그래서 지금 하고있는 행동이 왜인지 무엇을 의미하는지에 대한 생각조차 없이 손만 움직이고 있었다.
동기들의 도움으로 어렵게 어렵게 따라가 무사히 설정을 마쳤지만, 끝나고 나니 회의감이 들었다.
환경 셋팅은 주어진 내 상황에 맞게 설정을 할 줄 알아야 하는데, 나중에 환경 세팅을 해야 할 경우 내 상황에 맞춰서 할 수 있을까?라는 생각과 내 머릿속에 남는 게 없었다. 오늘 강의 부분은 이런 식으로 배우기보단 오래 걸려도 부딪혀가며 이것저것 만져보며 배우는 게 나한테 더 남을 것 같다.
'TIL' 카테고리의 다른 글
23.08.14 (0) | 2023.08.15 |
---|---|
23.08.09 (0) | 2023.08.10 |
23.08.07 (0) | 2023.08.08 |
23.08.02 - 역정규화, NoSQL (0) | 2023.08.03 |
23.08.01 - 논리적 데이터 모델링(Relation 모델) (0) | 2023.08.01 |