어제 3003번 문제 숏코딩 기록 경신해서(70바이트대에서 1위, 70바이트대에서 완전히 새로운 방식) 나름 뿌듯해서 깃갤에 올리고 그랬는데 어떤 미친 새끼가 내 소스코드 그대로 복붙해서 C11에 소스코드 비공개로 올렸더라? 물론 나도 그 코드에서 더 줄일 수 있었다는 사실을 간과하긴 했고 애초에 소스코드를 공개로 올려서 변명은 못하지만 이새끼는 남의 노력을 싸그리 무시한거라 좀 어이가 없더라구. 그래서 오늘 한시간만에 2바이트 더 줄여서 기록 다시 잡음. 아래 사진은 그새끼 소스코드 비공개되기 전에 캡쳐해둔 사진.

내가 짠 소스코드에서 for 문의 변수 n의 명시적 선언이 빠져서 4바이트 줄어들고, main 함수에 선언이 들어가서 2바이트 늘어나서 총합 2바이트 줄어듬. 근데 마지막 기록이 69바이트던데 뭔 짓을 더 한거 같더라. 그녀석도 좀 할줄 아는 녀석인가봄.

똑같이 4바이트 줄여서 참교육 성공. 원래는 C11쪽에 제출 안하지만 그새끼 보라고 일부러 C11로 올렸다. 참고로 소스코드 비공개다 십련아. 꼬우면 더 줄여보던가. 내가 머리 굴려봤는데 비트 연산자만으로 여기서 더 줄이는건 불가능하다. 즉, 똥꼬쇼해봤자 66바이트 이하로 절대 못내림. 내가 이미 검증 다 해봤음. 심지어 아직 공개 안한 방법도 시도해봤는데 이건 반대로 값을 걸러내는데 더 많은 바이트를 쓰는데다가 정의되지 않은 동작이라 불가능. 진짜 더 줄일려면 C99 부문 2등작처럼 문자열 조작하거나 아예 실행 시간에 값을 생성하는 알고리즘을 짜야한다. 이건 가능할지는 모르겠지만 C99 부문 1등작이 그렇게 짜여져있는 것 같으니까 가능하겠지.


왠지 깃갤에 범인이 있는거 같아서 써본다. 다 쓰고 나니까 존나 허무하지만 이게 알고리즘의 현실이라니 진실을 알게된 자에게는 너무 가혹하다...