본문 바로가기

TIL

[TIL]2024-1-17 / 18일차 - 팀 과제 : 발표와 피드백

 

오늘은 팀 과제 피드백이 있던 날이다.

 

우선 오늘 끝낸 알고리즘 코드카타를 잠깐만 정리하고 가려한다.

 


1. 알고리즘 코드카타

1-1. 정수 제곱근 판별

 

using System;
public class Solution {
    public long solution(long n) {
        long answer = 0;
        double sqrt = Math.Sqrt(n);
        if(sqrt % 1 == 0)
            answer = ((long)sqrt + 1)*((long)sqrt +1);    
        else
            answer = -1;
        return answer;
    }
}

 

Math 자체 시스템에 루트 기능이 있다는 것을 새로 배웠기에 이를 이용하여 해결한 모습이다.

특이하게도 보통 코드 채점 점수를 1점~3점 정도를 주는데 이번에는 8점이나 주었다. 어떤 차이 였을까?

 

1-2 정수 내림차순으로 배치하기

using System;
public class Solution {
    public long solution(long n) {
        long answer = 0;
        char[] arr = n.ToString().ToCharArray(); //long -> string -> char배열 
        Array.Sort(arr); //배열 오름차순
        Array.Reverse(arr); //파워 뒤집기
        answer = long.Parse(arr);
        return answer;
    }
}

 

여러 방법을 시도하다가 어려움을 느껴 이전 ToString()으로 문자열로 바꾸는 방법을 알았기에 이를 배열로 만들고 배열을 오름차순으로 정렬해주는 Sort와 배열을 뒤집는 Reverse를 이용하고 이후 long.Parse로 해결할 수 있었다.

 


 

2. 튜터 피드백

 

주요 피드백은 다음과 같았다.

1. 메소드화를 더욱 세분화 할 것 (반복되는 코드가 많음) - (이후 디버깅 과정이 어려움)

2. 각 용도별로 cs파일을 구분하는 방법을 이후 생각해 볼 것

전반적으로 코드가 난잡하다는 내용이었다.

 

옳은 말과 공감 되는 말만 들었다. cs파일을 하나로 작업하는 일은 갈 수록 비효율적인 일이 되었고 특히나 머지를 자주 맡게 된 나는 이전에도 작성 했던 것처럼 미친듯한 컨플릭트를 경험해야 했다. cs파일을 구분하고자 했을 때는 이미 너무 많은 부분이 분리가 어려웠고 이를 위해 모든 작업을 멈추기에는 시간이 부족했다.

 

또 다른 조들의 장점이나 피드백에서 내가 참고할 내용들도 많았다. 그 중 메모할 만한 내용은

 

  • 커밋 컨벤션을 잘 지키기. (여전히 딱딱 맞는 기능만 커밋해서 분류하기 어렵다. 작업 플로우가 눈에 보이는 것을 바로바로 건드리기 때문인 듯하다.)
  • 주석 설명 자세하게 달아서 인수인계 수월하게 하기 (나는 주로 커밋 메세지에 작동원리를 적고 이를 단체 채팅에서 설명했다. 주석으로 자체적으로 달아두는 것이 작업에 훨씬 수월해 보인다.)

 


 

3. 개발자 특강

강의자분이 개발자가 되어간 과정에 대해 인생 이야기를 해주었다.

인생의 우여곡절과 개발자와 전혀 상관없는 인생에서 개발자가 되기 까지의 이야기를 해주었다.

 

평소의 학문적인 느낌의 강의는 아니었지만, 마침 하나의 과제 주간이 끝난 긴장이 풀린 타이밍이라 이런 것도 괜찮았다.

 


 오늘 주간이 끝나며 했던 캠프 이벤트에서 아메리카노를 받았다. 기분좋다!

 

발표에서도 걱정 많았던 초보자 팀이었다. 다른 팀들 중에도 말도안되게 잘한 팀들도 있었다. 하지만 과제 시연 중에 내가 만든 인트로나 던전 UI들이 좋은 반응을 얻어 그나마 안도의 한숨을 내뱉었다.

 

오늘은 좀 적당히 하고 에너지를 충전하는 시간을 가지기로 했기에 오늘 TIL은 내용이 짧다.