사고 · beginner

문제 읽기: 입출력·제약·목표

코드를 치기 전에 계약·범위를 체크리스트로 고정합니다.

배우기 · 문제 푸는 사고 · 12분 · 1/10 · 사고 · 읽기

이 트랙 목차 (10)
  1. 1. 문제 읽기: 입출력·제약·목표
  2. 2. 예제 추적: 손으로 한 스텝
  3. 3. 경계·엣지 케이스 목록화
  4. 4. 오답·실패 케이스 분석
  5. 5. 패턴 고르기: 제약으로 후보 줄이기
  6. 6. 의사코드: 구현 전에 뼈대 쓰기
  7. 7. 시간 상자: 막힐 때 멈추는 규칙
  8. 8. 접근 비교: 브루트 · 해시 · 투포인터
  9. 9. 회귀 확인: 고친 뒤 다시 채점
  10. 10. 작은 테스트 직접 쓰기

목표

문제를 한 번 훑고 바로 코딩하지 않습니다.
5분이 아깝지 않습니다. 잘못된 이해가 30분을 태웁니다.

읽기 체크리스트

  1. 입력 형식: 한 줄? 여러 줄? 공백 구분? 첫 줄이 n인가?
  2. 출력 형식: 숫자? 문자열? 개행? 공백 구분? 정확한 표기
  3. 제약: n 최대, 값의 범위, 시간·메모리 힌트
  4. 목표: 최댓값? 존재 여부? 모든 경우의 수? 원본 인덱스?
  5. 예외: 빈 입력, n=0, 음수, 중복, “답 없음”

종이나 주석에 한 줄로 요약하세요.

입력: 첫 줄 n, 둘째 줄 n개 정수
출력: 두 수의 합이 target인 인덱스 두 개 (0-based)
제약: n ≤ 1e5 → O(n) 또는 O(n log n)
예외: 답이 없으면 -1 -1

제약 → 복잡도 감각

n 대략허용되는 감각
≤ 20지수·완전탐색도 가능
≤ 100O(n³) 아슬
≤ 1e3O(n²) 가능
≤ 1e5O(n log n) ~ O(n)
≤ 1e6+거의 O(n) · O(n log n) 타이트

정확한 시간 제한은 환경마다 다르지만, 제약만 보고 후보 알고리즘을 줄이는 습관이 중요합니다.

출력 계약을 글로 쓰기

“합을 출력”이 아니라:

채점은 문자열 비교에 가깝습니다. 형식이 틀리면 논리가 맞아도 실패합니다.

다음 행동

요약을 적은 뒤에야 자료구조·패턴을 고릅니다.
그다음 레슨 예제 추적으로 손을 움직이세요.

5분 메모 템플릿

입력:
출력:
제약(n/값):
예제1 손으로:
함정(빈 배열/1개/중복/음수):
후보 패턴:

이 메모를 채우기 전에는 에디터를 열지 않아도 됩니다.
채운 뒤에도 예제 1개만 손으로 검증한 다음 코딩을 시작하세요.

이 사이트에서

문제 본문·예제·힌트·관련 원리를 먼저 스크롤로 확인하세요.
입력이 여러 줄이면 연습장에서 readline/input 패턴을 먼저 확인하는 편이 안전합니다.

관련 짧은 원리

관련 문제