Jungle

[TIL][Krafton Jungle] 1주차 - (1) : 알고리즘의 희노애락에 입성

손가든 2023. 10. 15. 15:28

공부 포스팅은 잡소리를 최대한 줄여서 시간을 세이브해야 된다는 것을 깨달았다.

 


1. Chrome 확장 프로그램에서 GitHub <-> BaekJun 연동

교육생분중에 한분이 추천해주셔서 사용해보았는데 자동 레포 생성되는 프로그램이라 매우 간편함. 덕분에 시간을 세이브

 

2. 알고리즘 공부

Introduction to Algorithms 책이 두꺼워서 자세하고 친절하게 나와있을 줄 알았는데 생각보다 너무 어렵다.

입문 시에 최대한 쉬운걸로 스케치를 하고 이 책을 읽는 방법으로 진행하기로 결정.

 

Do it 알고리즘 책이 그나마 예제가 있고 코드를 분석해줘서 이해하는데 큰 도움이 됨

 

하지만 어려운 재귀함수 같은 부분에서는 봐도 모르겠음 (극 난이도 상)

 

현재 N-Queen 알고리즘을 풀고 있는데 재귀함수를 사용해서 십자와 대각선의 경우를 파악하면서도 재귀 알고리즘을 사용해야해서 상당히 어렵다. 먼저 재귀함수를 더 깊이 이해하기 위해 간단한 로직의 함수 코드 진행 순서를 다시 분석해야 할 것 같다.

 

3. 파이썬 문법 공부

파이썬 문법을 제대로 공부한 적이 없어서 알고리즘과 같이 공부하고 있다.

 

<파이썬 아스키 코드 변환법>

       ord(문자) = 아스키 코드

       chr(아스키 넘버) = 문자

 

 

<Python - sys.stdin.readline() 개행 문자 처리>

파이썬 입력받을 때 가장 속도가 빠른 readline 함수는 받을 때, 입력값 뒤에 개행문자까지 같이 받는다.

 

이때는 뒤에 strip()을 사용해서 sys.stdin.readline().strip()로 해결한다.

 

  <++ 배열의 값을 특정 구분 없이 출력하고 싶을 때>

     list = []

     result = ''.join(map(str,list)

 

 

 

알고리즘은 생각해야 할 시간이 많고, 특히 재귀함수 문제인 '하노이의 탑', 'N-Queen' 문제에 대해 머리속에서 재귀함수의 플로우를 생각하는게 너무 어려워서 시간이 많이 걸린 것 같다.

 

시간을 많이 소요되었다고 판단되면, 머리를 잠시 식힌 후 빨리 핵심 로직을 들여다 확인하고 최대한 이해하는 데 집중해야겠다.