[Programmers] 2021 카카오 인턴십 2번 - 거리두기 확인하기
https://programmers.co.kr/learn/courses/30/lessons/81302?language=cpp 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 처음에 풀었을때 방향이 너무 많아서 이게 뭐지? 싶었는데.. 침착하..
2021. 8. 25.
[C] C의 qsort는 어떻게 짰을까? (유명 석박사들의 코드 훔쳐보기), shift 연산을 해야하는 이유
반갑습니다!!! 오늘은 저녁에 뭔가 인강듣기는 싫고,, 복습하기도 싫어서 C언어의 소스코드는 어떻게 생겼나 훔쳐봤습니다. 여러가지를 보다가 재미있는걸 발견했는데, 공유하기 위해서 저도 씁니다^^ c++의 sort는 여러가지 소트를 합친걸로 알고있습니다. Tim,intro, heap,quick 등등.. 여러개를 합쳤는데요. 예전에 알고리즘 수업에서 과제 중 하나가, 어떤 숫자에서도(숫자 몇십억개가 넘는) 가장 빠른 정렬을 할 수 있는 코드를 짜는게 숙제였습니다. 그걸로 학생들의 시간을 측정해서 차등으로 성적을 매겨줬습니다. 그때 굉장히 많이 찾아봤었는데, 저는 median-of-three라는 pivot 설정으로 quicksort를 짰는데, pivot 고르는걸 잘못했는지.. 어디 하자가 있..
2021. 7. 31.