← All Posts

[TIL] 260908 공부기록

그리디 회의실과 최빈값 풀기

TIL#

어제 8번까지 풀고나서 조금 여유가 생긴 기분이였다..
사실 동적프로그래밍은 좀 더 시간을 가져서 복습을 할 필요가 있지만.. 아직 문법이 익숙하지가 않아서 자유자재로 코딩할수있는 실력을 좀 가져야겠다 싶어서 오늘은 오후동안에 다른 문제를 풀었다.

사실 엄청 쉽게 풀수있는 문제인데 코드로 변환하는 과정에서 왜이렇게 어려운건가…

오늘 basic 9번 문제를 풀고나니 오전이 끝나서 오후엔 다른 문제를 풀었고 최빈값을 구하는 문제였다.

배운점#

회의실 문제는 수도코드로 작성을 하는걸 가장 많은 시간이 걸렸다.
문제 쪼개기가 항상 중요하다는걸 깨닫는중..

그이후 오후엔 최빈값 문제를 풀었는데 기존에 리스트 문제만 풀었더니 뇌가 리스트에만 있어서그런지 리스트로만 풀려고,
어렵게 생각했던 것이였다.. 엄청 쉬운 입문 문제인데 4시간이나 쏟았고 약간의 트라우마가 생겼다..ㅋㅋㅋ.

데이터를 어떻게 저장할것이고 사용할것인지에 따라 자료형을 고민해봐야되는구나를 오늘 깨달았는데 리스트가아니라 딕셔너리를 사용했어야 했던것이다..

딕셔너리는 키값이 중복이 되지않기때문에 중복인지 세고 싶을때 사용하면 좋다는 것이였다.
기존에 내가 알던 딕셔너리는 키와 이름을 저장 하기때문에 이값이 누구인지 등 구분해야될때 사용하는 위주로 생각했는데 키를 이용해서 중복값도 샐수 있단걸 처음 알았다..

계속 리스트만 풀다보니 딕셔너리에서 많이 해맸고 딕셔너리를 공부해야될 참인것같다.
특히 딕셔너리에서 result[number] = 1 는 result의 키 number에 값인 1을 넣는다는 뜻이라는것도 알았는데 리스트랑 좀 많이 햇갈린것같다.. 그외에 items도 마찬가지로 까먹은 함수였다..

더욱 신기했던건 초반에 작성했던 리스트로 푼 코드보다 딕셔너리가 더 눈에 보기 좋았다…!

느낀점#

리스트말고 다른 자료형도 쓰는 연습을 해야될것같다 아직 딕셔너리는 익숙하지않아서 오늘 하루종일 최빈값에만 시간을 들인것같다…

3시간 고민해보고 안되면 ai든 팀원이든 물어봐야되겠다 싶고 깊은 생각을 할수있어서 좋은 하루였던것같고,
오늘 이렇게 삽질한 시간때문에 가장많이 기억에 남지않을까 생각한다..

내일은 시험 복습하고 csapp도 마저 공부하기로!