포스트

TIL 2026-02-25

TIL 2026-02-25

2/25 - AI Literacy & c++ 코딩테스트 강의

생성일: 2026년 2월 25일 오전 9:47

AI Literacy 강의

프롬프트 설계 기법

  • RAG: 외부/내부 자료를 검색 후 생성하여 정확도 향상
  • Zero-shot / Few-shot: 예시 없음 vs 예시 기반 형식 고정

추론 및 검증 전략

  • CoT: 추론 과정을 드러내 검증 가능성 확보(실무는 요약 근거 권장)
  • 결과 검증 루틴: 출력→제약 재확인→반례 점검으로 오답 감소

스트럭처드 프롬프팅

  • Role/Goal/Constraints/Format 명시로 품질 안정화
  • 예시 기반 구조화로 산출물 일관성 확보

명령어 강도와 의도

  • 찾아줘 vs 찾아와: 행동 지시 강도 차이 → 결과 완결성 영향
  • 명령형 표현이 구체적 실행 요구를 강화

Structured Prompt

  • 예시 1 – 기술 TIL 요약용 Structured Prompt
    • Role: 게임프로그래밍 취준생 / Goal: 오늘 배운 내용 요점 정리
    • Constraints: 각 항목 2줄 이하, 굵은 키워드, List 형식 / Format: Markdown 목록
  • 예시 2 – 코딩 테스트 문제 분석용 Structured Prompt
    • Role: 알고리즘 분석가 / Goal: 문제 풀이 전략 설계
    • Constraints: 시간복잡도 명시, 예외 2개 포함 / Format: 단계별 분석 구조
  • 활용 방법 ① 역할 명확화
    • 결과 톤과 관점을 고정하기 위해 Role 선명화
    • 면접용/보고서용 등 목적에 맞게 정체성 설정
  • 활용 방법 ② 목표 구체화
    • 추상적 요청 대신 산출물 목적을 명확히 정의
    • “정리해줘” 대신 “면접 제출용 요약 작성”처럼 구체화
  • 활용 방법 ③ 제약 조건 설정
    • 분량, 형식, 강조 방식 지정으로 일관성 확보
    • AI 할루시네이션 감소 및 결과 검증 용이
  • 활용 방법 ④ 출력 형식 고정
    • Markdown, 표, 코드블록 등 명확한 포맷 요구
    • 반복 사용 시 템플릿화하여 생산성 향상

c++ 코딩테스트 강의

  • 알고리즘 효율성 기준: 성능 평가는 절대 시간이 아닌 연산 횟수 기준으로 판단 챕터2-1 알고리즘 효율성

    입력이 커질수록 PC 성능 차이보다 연산 수 추이가 중요

  • 연산의 정의: 반복문 횟수 / 비교·대입·산술 연산 모두 비용으로 간주 챕터2-1 알고리즘 효율성

    대용량 배열 비교도 무시 불가, 실제 코테에서 핵심 포인트

  • 조건별 연산 변화: 입력/탐색 위치에 따라 최선·최악 경우 발생 챕터2-1 알고리즘 효율성

    코테는 항상 최악 기준(Big-O) 로 판단

  • 점근적 표기법: 증가 추세만 분석하는 방식, 상수·저차항 제거 챕터2-1 알고리즘 효율성

    “입력이 충분히 클 때”의 성능이 본질

  • 빅오(Big-O): 최악의 경우 기준 점근적 상한 챕터2-1 알고리즘 효율성

    제한 시간 내 동작 여부 판단의 핵심 도구

  • 최소한의 상한: 최고차항만 남겨 가장 타이트한 상한 선택 챕터2-1 알고리즘 효율성

    예: 3N²+2N → O(N²)

  • 시간 복잡도 가늠법: 1초 ≈ 1억 연산 가정 챕터2-1 알고리즘 효율성

    N=1,000,000이면 O(N log N) 이하 설계 필요

  • O(N) 예시 – 선형 탐색

1
2
for(inti=0;i<size;i++)
if(arr[i]==target)returni;

배열 전수 탐색 → 최악 O(N)

  • O(N²) 예시 – 2차원 순회
1
2
3
for(inti=0;i<N;i++)
for(intj=0;j<N;j++)
sum+=arr[i][j];

이중 반복문 → O(N²)

  • O(log N) 예시 – 절반 감소
1
while(N>1){N/=2; }

반복마다 범위 절반 → 로그 증가

  • O(2^N) 예시 – 모든 조합
1
2
3
for(inta=0;a<2;a++)
for(intb=0;b<2;b++)
for(intc=0;c<2;c++){}

완전 탐색/브루트포스, N 증가 시 폭발적 증가

  • 코테 적용 전략: 입력 최대값 확인 → 허용 복잡도 역산

    문제 설계 시 먼저 시간 복잡도 상한 결정 후 구현

  • 입출력 처리 전략: 코딩테스트는 알고리즘보다 입력 파싱 속도에서 시간 손실 발생

    다양한 형식(공백·구분자·진법)을 빠르게 처리하는 습관 필요 챕터2-3 로컬에서 입출력 데이터 다루기 실습

  • 반올림/올림/내림 구분: round / ceil / floor 정확한 차이 이해 필수 챕터2-3 로컬에서 입출력 데이터 다루기 실습

    음수 처리 방식이 다르므로 예외 케이스 대비 중요

  • round 특징: 0.5는 away from zero 기준 반올림 챕터2-3 로컬에서 입출력 데이터 다루기 실습

1
round(-2.5);// -3
  • ceil / floor 차이: ceil은 항상 위, floor는 항상 아래 정수 챕터2-3 로컬에서 입출력 데이터 다루기 실습
1
2
ceil(-3.2);// -3
floor(-3.7);// -4
  • stringstream 활용: 문자열을 입력 스트림처럼 처리 가능 챕터2-3 로컬에서 입출력 데이터 다루기 실습

    cin과 동일한 » 방식으로 데이터 추출 가능

  • 공백 기준 분리: » 연산자로 자동 토큰화 챕터2-3 로컬에서 입출력 데이터 다루기 실습

1
2
stringstreamss ss;
ss>>a>>b>>c;
  • 특정 문자 기준 분리: getline + 구분자 사용 챕터2-3 로컬에서 입출력 데이터 다루기 실습
1
while(getline(ss,token,',')){}
  • 진법 변환 (10→16): stringstream + hex 조작자 활용 챕터2-3 로컬에서 입출력 데이터 다루기 실습
1
ss<<hex<<decimal;
  • 진법 변환 (16→10): hex 설정 후 » 연산자로 파싱 챕터2-3 로컬에서 입출력 데이터 다루기 실습
1
ss>>hex>>decimal;
  • 코테 적용 포인트: 파싱/형변환을 직접 구현하지 말고 표준 라이브러리 활용

    시간 단축 + 실수 감소 + 가독성 향상

튜터님과의 대화

  • 키워드 RnD 학습법: 단순 요약이 아닌 키워드를 재조합해 내 언어로 재구성
  • 이해도 상승 체감: 복붙 정리보다 개념 연결 과정에서 사고 확장 효과
  • 지식 내재화: 키워드를 재배열하며 원리 중심 구조화가 가능
  • 면접 대비 강화: 질문 변형에도 대응 가능한 개념 설명력 향상
  • 적용 방법 ① 키워드 추출: 강의/문서에서 핵심 개념 5~10개 선정
  • 적용 방법 ② 구조 재설계: 인과관계·흐름 중심으로 새 목차 구성
  • 적용 방법 ③ 실전 연결: 프로젝트/코테 사례에 직접 매핑
  • 적용 방법 ④ 검증 루틴: “설명→반례 질문→보완” 반복으로 완성도 향상
  • 한계 인식: 키워드만 남기면 맥락 손실 위험 → 핵심 예시 1개 포함
  • 지속 전략: 매일 TIL에 1회 RnD 적용하여 학습 자산화
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.