http://boj.kr/57799e6dde044480a6858f622c6d28e6Baekjoon Online JudgeBaekjoon Online Judgeboj.kr문제에서 요구하는 해법은 이차배열에 대한 퀵 소트를 구현하세요 인거 같으나 아직 입문단계다보니 그런거 몰라서 그냥 수학으로 풀었는데, 이런 풀이는 학습에 있어 그래도 도움이 될까요? 아님 지양해야할까요?
형님 코드 90년대처럼 짜시네요ㅋㅋㅋ 어디서 배웠어요
개인 비영리 사이트들 돌아다니면서 개념 줍는 응애뉴비에요 근데 그 사이트들이 이제 2000년대 현업뛰던 양반들꺼라 그런거 같아요!
문제에서 어떻게 풀라고 해법을 고정한것도 아니고 뭐어때요 같은 문제에 대해 다양한 해법을 찾는 것도 좋은 공부방법입니다 그래도 나중에 꼭 머지소트 퀵소트 구현해보세요
오 감사합니다!
기본 제공되는 qsort를 썼다고 해서 잘못된 것도 아니고 입문 단계에서 권장되는 사항 중 하나임. 더군다나 quick sort를 제대로 엣지 케이스까지 커버하도록 만드는 건 다른 sorting보다 더 어렵기 때문에...
그냥 나중에 c99 표준 추가 기능을 한 번 읽어보셈. 예를 들면 for 안에서 변수 선언이라든지, variable length array 같은 기능들이 생겼으니까
오 배열길이 변수로 선언하는게 표준에 들어가는 기능이었군요! 배울때 쓴 교재 모두가 배열은 상수로만 가능하다 했어서 긴가민가했었어요 감사합니다 for 안 선언은 알긴 하지만, 코드 쓸때 귀찮아져서 밖 선언을 썼어요
여담으로 2차원 배열에 대한 sort보다는 user defined type(class, struct, ...)에 대한 sorting으로 보는 게 좋음.
VLA는 C11에서 optional로 바뀜 함부로 쓰지 않는게 좋음
c11에서 optional로 바뀐 거도 맞지만, gcc clang 양쪽에서 지원하는 기능이라 딱히 안 쓰는게 낫다는 건 잘 모르겠는데. 왜냐면, 대다수 유저는 scanf랑 malloc 같은게 반드시 성공한다는 전제로 백준 제출용 코드를 작성하잖아.
그걸 안쓰는게 낫다고 함
다른 방식으로 풀어도 ㄱㅊ 대신에 다른 방식으로도 풀 수 있는 걸 확인했으면 그 방식도 한번 보는게 좋음. 그 아이디어가 나중에 다른 문제에서 나올 수 있기 때문임