오늘도 알고리즘 특강 들은 뒤에 알고리즘 문제를 풀어봤는데, 생각보다 많이 못 푼 것 같다. 제출한 뒤에 남들이 어떻게 풀었는지를 비교하면서 넘어가다보니 1시간 동안 푼 개수가 많이 없었다. 기본 함수를 써서 푼 것들이 있는데, 알고리즘 실력을 기르려면 함수 사용을 줄이고 직접 구현하는 게 나을 것 같다.
특히 steam을 사용해서 무언가를 찾아내고 처리하는 코드는 짧고 간결하게 보일 수 있겠지만 속도가 너무 느려졌다. 회사 다닐 때도 사수님이 주의시켰던 부분이다. 하드웨어가 아무리 발전했다고 해도 의미 없이 느리게 만들 필요는 없으니까 적절하게 사용해야될 것같다.
강의는 thread 내용이라 크게 집중이 안 됐다. 학부 때 집중 못 했던 DB, Thread, 알고리즘 이런 게 여기서도 발목 잡는 것 같다. 오늘은 12시간을 잘 못쓴 것같은게 개인 과제에 생각을 너무 많이 해버렸다. 레벨3 목표치까지는 달성했는데, 이게 옳은 방향으로 접근한건지 계속 의심하고 고민 중이다.
유저가 입력한 숫자를 String으로 받고 try-catch를 여러 개 써서 형 변환이 실패해 catch에 걸릴 때마다 내가 지정한 형 변환으로 넘어가는 것이다. 정규식으로 접근하는 버전도 만들었는데 피드백 내용에 따라 정해야겠다. Number라는 상위 클래스가 있으니까 유저가 int를 입력하든 double을 입력하든 Number로 넘기면 되지 않을까 하는 생각도 들었다. 아니면 내 접근 방식 자체가 잘못된 건지도 모르겠다. 헷갈리니까 주말에는 좀 쉬고, 일요일부터 다시 곰곰이 생각해 봐야겠다.