자료구조 배우면서 백준 문제 풀고있어
해시 테이블이나 세그먼트 트리. 이런거 구현 해보면 하나에 4시간 넘게 걸리거든
대충 100~200줄에 4시간이면 한줄에 1~2분 걸린다는건데 이거 노력하면 시간 줄어듬?
아니면 한번씩만 구현해보고 다음엔 남이 쓴 코드 수정하는게 나을까?
자료구조 배우면서 백준 문제 풀고있어
해시 테이블이나 세그먼트 트리. 이런거 구현 해보면 하나에 4시간 넘게 걸리거든
대충 100~200줄에 4시간이면 한줄에 1~2분 걸린다는건데 이거 노력하면 시간 줄어듬?
아니면 한번씩만 구현해보고 다음엔 남이 쓴 코드 수정하는게 나을까?
백준 c로 풀지 마셈
그럼 무슨 언어 추천해?
의미없고 부질없음. 웬만한 것들 라이브러리 가져다 쓰기도 해서 구현해보면서 동작 원리만 잘 이해하면 문제 없음. 빨리 만들어내는게 중요한게 아니고, 너가 필요해서 남이 만들어 놓은 것을 가져다 쓸 때 이게 뭘 하는 건지 어떻게 돌아가는지를 알고 쓰면 되고, 남이 만든것을 쓸 수 없을 때 니가 만드는 데 필요한 배경지식이 되는거임. 니가 만든다 하더라도 누가 옆에서 팔짱끼고 서서 검색하나 안하나 지켜보다가 구글에 검색하면 뒤통수 한대 후려치면서 보드판에 적힌 니 점수 감점하고 그런게 아님.
한번쯤은 구현 해봐야 되는거 아니야?
말의 뜻은 알겠어 그럼 어떻게 공부하는게 좋을까?
알림 뜬거 못보고 이제 봤네 ㅈㅅ 한번쯤 구현 좋음 그 대신 얼마나 빨리 짜냐 이런거 말고 안에서 동작원리나 무언가를 바꿨을때 어떻게 될까 이런거를 생각해보거나 실험해보면서 하면 좋지. 기존 알고리즘에서 부족하다 생각되는 부분을 바꿔가며 너만의 알고리즘으로 만들어보기도 하는것도 시간이 넉넉하다면 재미있고 유익함. 물론 실제로는 직접 만들어 쓸 일은 많지 않음. 일단 만들어서 쓰는 게 단점이 직접 설계하고 만드는데 시간이 걸리는 것도 있지만, 만들어 낸 알고리즘이나 소스코드가 버그가 없는지 검증하는 것도 상당히 힘이 들기 때문에 가급적이면 기존에 이미 검증된 표준 라이브러리나 서드파티 라이브러리를 최대한 끌어다 쓰게 됨. 기존에 서드파티로도 존재하지 않는 기능이면 회사에서 직접 개발해서 쓰는데 혼자 만들진않
혼자 만들지는 않기 때문에 혼자서 얼마나 빠르게 짤 수 있느냐보다는 한 번쯤 직접 개발해보면서 얻은 경험과 시행착오가 도움이 되는 그런식임
프로그래머에게 필요한 것은 데이터를 조합해서 문제를 해결하는 능력이지. 데이터가 될 수 있는 조건은 세 가지가 있는데 기억이 안나네. 이 데이터가 조합되고 조합되어서 더 복잡한 자료구조와 객체가 되는 것. 그리고 니는 니가 작업하는 레벨에서의 데이터의 세부동작에 대해서 알지 않고 써도 된다. 왜냐하면 그 객체가 니가 세부동작에 대해 신경쓰지 않아도
올바로 작동해야 하기 때문. 그래야 올바르게 디자인된 것. 자료구조는 데이터와 데이터를 조합하는 기본적인 구현능력을 키워줄 수 있어서 한 번쯤 연습해보는 것도 나쁘지 않지만 니가 지금 하는 건 코테연습이지 구현연습이 아닐텐데 효율이 떨어져보임
물론 너의 목적에 따라서 달라질 수 있음. 코테가 아니라 구현 연습이 필요하다? 그러면 니가 프로그램을 니 스스로 복잡하게 한 번 구현해보는거지. 코테를 할 때 짜지말고
자료구조 배운적도 없고 아무것도 모르는 상태에서 하다가 하다보니깐 재미들려서 이것저것 배우는데 뭘해야하는지도 모르겠고 뭘 모르는지도 모르고 이런 상황이거든 코테가 있다는것만 알지 뭔지도 몰라 진짜 기본적인것도 하나도 배운적도 없고 그럼 자료구조 정도만 직접 구현해서 배워보고 그 다음부터는 남이 만들어둔거 조작할 능력되면 빠르게 문제 풀어나가면서 코테 준비하면 된다는거지?