알고리즘 스터디 그룹을 짜서 문제를 나눠서 풀고 자신이 푼 문제에 대해 발표하는 시간을 보냈다.
다른 사람에게 설명해야 하는 만큼 최대한 많이 알아가고 설명해주려고 했었는데 막상 알려주려고 하니 생각하는 만큼 전달이 안되고 횡설수설 하게 되어 죄송한 마음이 컸다. 다른 분들의 발표를 듣고 해당 내용에 대한 접근이 쉬워지는 효과가 있었지만 결국에 문제를 푸는 건 스스로 해야해서 빠르게 설명을 듣고 넘어가는게 좋아보였다.
처음 시작할 때는 어떻게 이걸 계속 풀 수 있을까? 하며 의문을 가졌지만 알아가능 함수들도 늘어나고 자료형도 익숙해지고, 조금씩 자료구조의 사용법도 익히고 있어 다음 문제를 풀 힌트가 조금씩 열리는 느낌이다.
오늘 쉽게 생각하고 풀었는데 안풀린 문제가 있는데 처음 생각한 대로 계속 수정하며 풀다가 식이 점차 복잡해지더니 나중에는 뭘 더 수정해야할 지 모를 지경까지 와서 처음 설계하는 방식이 잘못되면 이후에 아무리 고치려고 노력해도 힘들다는걸 느꼈다. 내가 설계한 것을 확실하게 구현할 수 있다고 생각한다면 그것을 밀어 붙이고 안된다고 판단될 때 빠르게 처음부터 시작하는게 좋다고 느꼈다.
백준 2839번 설탕 배달에서 모든 조건을 생각하여 예외없이 조건문만으로 문제를 해결하려고 if와 엄청나게 많은 else if 를 사용했는데 나중에 느낀건 처음부터 다시 하는게 빠르다는 것이었다. 예외상황이 계속 생기고 뭔가 근본적으로 놓치고 있는게 있어보였다.
find 함수를 배웠다. index 함수와 사용법은 같고 find(찾을문자, 찾기시작할위치)와 같은 형태로 사용한다. 문자열 중 찾을 문자가 첫번째에 오는 위치를 찾아주는 함수다. index와의 차이점은 find는 문자열 중 찾을 문자가 없을 시 -1을 반환해주고, index의 경우 오류가 발생한다. 그렇다는 것은 찾을 문자가 없을 때 -1일 반환해주는 find를 사용하는게 좀 더 범용성 있는 선택이 될 것 같다.
'TIL' 카테고리의 다른 글
20210618[항해 12일차] (0) | 2021.06.19 |
---|---|
20210617[항해 11일차] (0) | 2021.06.17 |
20210615 [항해 9일차] (0) | 2021.06.16 |
20210614[항해 8일차] (0) | 2021.06.14 |
20210613[항해 7일차] (0) | 2021.06.13 |