231227-TiL

2023. 12. 27. 20:54내일배움캠프

12월27일 

오늘은 진행중이던 미니 프로젝트를 마무리 하는 날이다.

 

미니 프로젝트에서 구현해야할 목록들은 어제 대부분 완성을 했고 팀원들도 대부분 마무리 한 상태라서

 

오늘은 생각보다 여유가 많았다.

 

오늘의 일정은 점심먹기 전까지 미니 프로젝트에서 더 손볼것이 있는 팀원은 마저 마무리 작업을 하고

 

각자 Unity , C# 공부를 하고나서 점심먹고 난 후 프로젝트 제출과 발표자료 준비를 하기로 하였다.

 

그렇기에 난 9시부터 12시까지 알고리즘 코드카타에 있는 알고리즘 문제들을 좀 미리 풀어보면서 공부를 해보기로 했다.

 

 

 

 

오늘 풀었던 알고리즘 문제들이다. 

 

처음 부분은 쉽게 풀어서 

 

나도 나름 잘하는걸? 이라고 생각하며 밑으로 쭉쭉 내려가면서 풀어가고 있었는데

 

여기서 좀 한참을 해맸다.

 

 

 

흐음..... 어떻게 해야하려나

 

천천히 하나씩 해보자

 

일단 입력받은 수에서 자릿수마다 따로따로 분해시켜야 한다.

 

136 = 1,3,6 이런식으로 팔 몸통 다리 (헉!)

 

분해시킬수만 있으면? 더하는거야 뭐 분해시킨거 한곳에 몽땅 더해버리면 되니깐...

 

그러다 문득 예전에 한번 문자열 string에 대해서 배웠을때가 떠올랐다.

 

string name = "name"; 이랑 char[] charName = new char[] { 'n', 'a', 'm','e' }; 이거랑 같다고 배웠었던거 같은데

 

특정 문자들을 조합하여 만들어진 문자열은 배열과 같은 데이터 바구니의 개념을 가지고있어서 인덱스를 사용할 수 있다.

 

대충 내 지식이 맞는지 확인만 해보자.

 

 

좋았어 

 

왜 이걸 떠올렸냐 한다면 나는 최근에 정수를 문자로 변환하는 방법을 배웠기 때문이지

 

이렇게 하면 숫자를 문자로 변환시키니깐 대충 어떤숫자가 주어져도 문자로 변환시켜서 인덱스를 추출한 다음에

 

추출한 인덱스를 다시 숫자로 바꿔 다 더해주면 되는거니깐. 문제 해결이다!

 

헉 빨간줄 싫어....

 

뭐가 문제인지 한번 Visual Studio에서 비슷한 환경을 조성해보고 알아보자....

 

 

그렇다고 한다

 

음 다른 방법을 알아보자.

 

열심히 구글링으로 뒤졌는데 Microsoft 사이트에서 이런 글을 발견하게 된다.

 

 

아하! 그렇단 말이지?

 

참 친절하게도 Microsoft에서는 사용법까지 예로 알려준다.

 

이렇게 친절하게 사용법까지 알려줬는데 당장 써먹으로 가봐야겠지?

 

 

빨간줄만 뜨면 당황하게 된다.

 

읽어보니 double 형식을 int형식으로 변환할 수 없다고 한다.

 

 

휴 빨간줄이 제거되니깐 마음이 편안해 진다.. 한번 돌려보자

 

 

성공이다 성공이야!

 

이제 아까 실패했던 문제로 달려가서 적용시켜보자

 

 

캬 한건했다 진짜 힘들었다고!!

 

문제 몇개 풀었을 뿐인데 순식간에 오전이 날아가버렸다.

 

점심을 먹고와서 이제 미니프로젝트 마무리 준비를했다.

 

사실 지난번에 매니저님께서 git을 사용해서 열심히 작업을하다 이제 여러 사람들이 작업을 했던걸 하나로 합칠때

 

문제가 많이 발생한다고 경고해주셨었는데 사실 이 부분은 문제가 없었다.

 

아니 처음에는 있었다. 미니프로젝트의 특징상 여러명이서 한 스크립트에서 작업을 해야하는 부분이 많았기 때문에.

 

팀원중에   작업했던 내용을 푸시하면 풀 하는 과정에서 내가 작업했던 부분들과 충돌이 생겨서 작업 초기에는

 

원인 모를 오류가 생긴다던지 머지하는 과정에서 누락된 부분이 생겨서 누락된 부분을 찾아서

 

채워넣어야 한다던지 정말 골치아팠었는데

 

git을 사용해본 팀원이 팀원으로 있다는게 이리도 든든할까.

 

우리는 Branch란 기능을 이용하기로 했다.

 

Branch란?

 

Branch를 통해 하나의 프로젝트를 여러 갈래로 나누어서 관리할 수 있다.

각각의 독립된 Branch에서 마음대로 소스코드를 변경하여 작업 한 후 원래 버전과 비교하여

또 하나의 새로운 버전을 만들어 낼 수 있다. 

 

내가 어떠한 작업이 끝났을땐 Pull Request를 작성해 팀원들에게 날려준다.

이렇게 하면 사전에 코드에 잘못된 부분 수정할 부분들을 미리 알고

 

팀원들이 작업한 코드와 충돌되는 부분이 없는지 미리 확인해서 Merge할때 오류가 나는 부분을 최소화 시켰다.

 

우리는 이런식으로 각자 작업할 Branch를 파고 작업이 끝나면 Pull Request로 내가 작업한 내용을 팀원들에게 알려

 

미리미리 오류가 생기는걸 방지했다. 또한 팀원이 작업한게 내가 지금까지 한 작업과 충돌되는 부분이 없고.

 

작업한 내용이 괜찮다면 Develop에 차곡차곡 Merge시켜서 마지막에 안정적으로 main과 develop을 합쳐주었다.

 

아쉽게도 매니저님!! 매니저님이 말씀하시던 그 사태 저희 팀은 겪지 않았습니다!

 

미니 프로젝트를 진행하는동안 git을 계속 사용하고있지만 나는 아직도 git을 사용하는게 너무 어색한것 같다.

 

튜터님께서도 그냥 git은 많이 사용해보다보면 어느순간 익숙해진다고는 하는데

 

아직 짬이 많이 부족한가보다.

 

팀장님께서 고생해주신 덕분에 발표영상과 발표자료도 무난하게 만들어졌고.

 

231227 TiL은 여기서 마치도록 하겠다.

'내일배움캠프' 카테고리의 다른 글

231229-TIL  (0) 2023.12.29
231228 -TiL  (0) 2023.12.28
231226-Til  (0) 2023.12.26
231222-TIL  (1) 2023.12.22
내일배움캠프 Unity 3기를 시작하는 마음  (0) 2023.12.21