본문 바로가기
사이드 프로젝트/GetABeer

[사이드 프로젝트] EP 3. 알고리즘을 열심히 해야하는 이유

by Bhinney 2023. 2. 2.

🍺DATE : 2023.02.01 WED


📁 알고리즘을 열심히 해야하는 이유

 

프로젝트를 본격적으로 진행한지 삼 일만에 알고리즘의 중요성을 또 한 번 깨닫게 되었다.

 

현재 구현하고 있는 부분은 페어링 부분이다.

 

페어링과 페어링 이미지를 두 가지 방식으로 연관 관계를 주고 구현해보고 있다.

 

첫 번째는 '페어링 : 페어링 이미지 = 1 : 1 ', 즉 일대일 연관관계로 두 엔티티의 관계성을 주는 방식이다. 페어링에서 총 받는 이미지가 3장이기 때문에 해당 이미지를 하나의 엔티티에 저장하는 방법으로 일대일 관계성을 생각해보았다. 

두 번째는 '페어링 : 페어링 이미지 = 1 : N ', 즉 일대다 연관관계로 두 엔티티의 관계성을 주는 방식이다. 

 

첫 번째 방식과 두 번째 방식 모두 장단점이 존재하기 때문에 어떤 방식이 더 효율적이고 좋은지에 대해서 고민해보려고 했다.

 

내가 알고리즘에 대한 중요성을 다시 한 번 느끼게 한 것은 두 번째 방식으로 페어링 수정을 구현하는 과정 때문이었다. 

이미지를 어떻게 받고, 이미지 정보를 어떻게 수정해야할 지 고민이 많았다.

만약 처음에 2장을 등록하고, 수정할 때에 1장의 이미지가 바뀌고 1장의 이미지가 추가되어 총 3장의 이미지로 바뀌는 사례를 생각해야했기 때문이다. 단순히 이미지의 아이디로 바꿀 수 없는 부분이었기 때문이다.

고민의 고민 끝에 우선은 반복문과 조건문을 이용하여 구현하였으나, 굉장히 비효율적이며 1차원적인 코드가 완성이 되었다.

그래서  이 부분을 좀 더 고민해서 효율적으로 바꾸고 싶었다. 

이래서 알고리즘이 중요하다는 것을 다시 깨달았다. 알고리즘에 분명 비슷한 사례가 존재했을 것이기 때문이다...!

 

오늘 오후 시간을 해당 내용을 고민하며 많은 시간을 보내게 되었다.

 

하지만 큰 성과는 없었던 것 같다..

 

내일 아침이 되면 다른 방식이 또 떠오를 수 있으니 우선 오늘은 여기까지 해보고, 내일 다시 해보려고 한다!

 

그리고 빠르게 이제는 다른 부분도 구현해야지..!


 

댓글