예전에 LLM이 얼마나 복잡한 코드를 이해할 수 있는지 파악하기 위해 Gemini 2.5 모델들로 내 IOCCC 2012 수상작을 던지고 무슨 일을 하는지 실행 없이 알아 맞춰 보라고 했더니 하나도 제대로 파악하지 못했던 적이 있다. 문득 생각이 나서 Gemini 3 Pro는 개선되었을려나 생각했는데, 힌트 하나만 받고 10분동안 생각하더니 완벽하게 응답에 성공했다! 심지어 설명도 실행 없이 분석했다는 걸 감안할 때 매우 정확했다. IOCCC 수상작을 모두 기억하고 있을 가능성을 감안해 이전에 본 적이 있냐고 물어 보니 환각(...)을 내뱉는 것도 그렇고(그보다 외웠다면 처음에 바로 정답을 얘기했겠지), 실제로 생각 과정을 보면 사람이 할 법한 분석을 전부 하고 있는 걸 보니 진짜로 LLM들의 reasoning 능력이 이 정도 수준에 도달했음을 알 수 있다. 세상 참 많이 발전했네.
I design interface that everyone understands.
Software Engineer
크로스 플랫폼 빌드 고치는 노동자
잡담은
@meperlmint 에서
사과 농장 관리하는 동네 아저씨입니다.
잡담 반 게임 이야기 반 정도 하고 있습니다.
* NSFW 이야기는
@__nullptr0x0 에서 합니다.
* 아바타는 버스터콘
@bustercon버스터콘
님의 커미션입니다 👍
Haze Lee but also known as Kihan Park
- 💻 Make stuff with Computer
- 💉 Living with Migraine more than 10y, Migraine Advocate [Headache Place]
- 💬 🇰🇷, Also 🇯🇵 & 🇬🇧🇺🇸
재즈가 재질
일상글과 아무말이 대부분으로 이루어진 리피입니다.
저는 불호 요소 없으니 여러분들이 저를 견뎌주세요.
선팔 = 99% 맞팔
(0 v 0)a
설계 능력 없고 코딩 AI보다 못하고 뭔가 이상한 걸 만들고 있고 (#레퍼럴프로젝트, http://referral.akaiaoon.dev) 뭔가 남의 프로젝트에 기여도 하고 (#코스모슬라이드, https://github.com/cosmoslide/cosmoslide) 매일 커피 비슷한 거나 마시는 여전히 직장이 없는 개발자
성인/ Male/ 상점 NPC/ 아무말생체GPT/ 메멘토모리 859544921001/ 일반적인 이야기부터 현실 속마음 이야기까지/ 방백 내지 독백은 반말로 대화는 정중하게 합니다./ '미성년자에겐 SNS가 해롭습니다.'/ Novice tinkerer/
오래된 미디 파일의 악기 배치를 마음대로 뜯어고쳐서 듣는 취미가 있습니다.
Greenfield.masto.host 인스턴스의 소유주(개인) 되겠습니다.
해당 인스턴스의 기술적 유지관리는 외주로 돌아갑니다.
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은:
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify、Hollo、BotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「
@hongminhee洪 民憙 (Hong Minhee)
」に。
약력은 비워둘 수 없습니다.
![> 다음 C 프로그램이 하는 일을 알려 줘. [코드 생략]
이 C 프로그램은 **난독화(obfuscated)**된 코드로, 입력받은 **시간 또는 단위가 포함된 문자열**을 해석하여 총합을 계산한 뒤, 그 결과를 **16진수(Hexadecimal)**로 출력하는 프로그램입니다.
구체적인 작동 방식은 다음과 같습니다:
1. **입력 처리**:
* `getchar()`를 통해 표준 입력(stdin)에서 문자를 하나씩 읽어들입니다.
* `|32`를 통해 대문자를 소문자로 변환하여 처리합니다.
2. **문자 매핑 (해싱)**:
* `"ynwtsflrabg"`라는 문자열은 입력받은 문자가 특정 단위(예: year, week, second 등)인지 확인하기 위한 인덱스 문자열입니다.
* 입력된 문자가 이 문자열에 포함되면 변수 `b`에 특정 해시 값을 누적합니다.
3. **단위 변환 및 계산**:
* `"1+DIY/.K430x9G(kC["`라는 복잡한 문자열은 **룩업 테이블(Lookup Table)** 역할을 합니다.
* 내부 루프에서 이 테이블과 비트 연산(`&255^b`)을 통해 현재 입력된 단위가 무엇인지(예: 'y'가 연도인지, 's'가 초인지) 판별합니다.
* `u=1ll<<6177%n--*4` 부분은 각 단위에 맞는 **가중치(Multiplier)**를 계산합니다. `<<` 비트 시프트 연산을 사용하는 것으로 보아, 특정 단위마다 2의 제곱수 형태의 배수를 적용하거나, 혹은 시간을 초 단위(또는 나노초 단위)로 변환하는 계수를 생성합니다.
4. **결과 누적**:
* 변수 `m`에 파싱된 수치와 단위 가중치를 곱하여 누적합니다.
5. **출력**:
* 최종적으로 계산된 값 `m`을 `printf("%llx\n", m)`을 통해 **16진수(long long hex)** 형태로 출력합니다.
**요약하자면:**
이 코드는 "1y(1년)", "2w(2주)", "30s(30초)"와 같은 형식의 텍스트를 입력받아, 이를 초(second)나 특정 기본 단위로 환산한 총합을 16진수로 보여주는 **단위 변환 계산기**입니다.](https://media.hackers.pub/note-media/53eb3036-9463-495d-bb5c-a04de12a7f21.webp)







