📝 입출력 · 반복문 · 문자열 처리 정리
1. 여러 테스트 케이스 A + B 출력하기
- 문제각 줄마다 두 정수 A, B를 입력받아 A + B 출력
- 테스트 케이스 개수 T가 주어지고,
- 질문 포인트 ①→ 반복문 조건 i < T에 사용되므로
- 반드시 반복 전에 값이 결정되어 있어야 함
- 왜 T를 먼저 입력받아야 하는가?
- 질문 포인트 ②→ 문제에서 각 결과를 한 줄씩 출력 요구
- printf("%d"); // ❌ 줄바꿈 없음 printf("%d\\n"); // ⭕ 한 줄 출력
- 왜 출력에 \\n이 필요한가?
- 핵심 흐름
- 입력 → 반복 → 계산 → 줄바꿈 출력
// C
for(int i = 0; i < T; i++){
scanf("%d %d", &A, &B);
printf("%d\\n", A + B);
}
// C++
cout << A + B << '\\n';
// C#
Console.WriteLine(A + B)
2. 문자열 control에 따라 n 값 변경하기
- 문제문자에 따라 n 값 변경
- 문자열 control을 앞에서부터 순회하며
문자 동작
| w | n += 1 |
| s | n -= 1 |
| d | n += 10 |
| a | n -= 10 |
- 질문 포인트 (핵심 실수)❌ 틀린 이유
- → c는 인덱스가 아니라 문자 값 자체
- for(char c : control){ if(control[c] == 'w') ...
- 올바른 사용→ range-based for에서는 값을 바로 비교
- for(char c : control){ if(c == 'w') ... }
- 인덱스 방식 vs 문자 방식
// 인덱스 방식
for(int i = 0; i < control.size(); i++){
if(control[i] == 'w') ...
}
// 문자 직접 방식
for(char c : control){
if(c == 'w') ...
}
❗ 두 방식은 섞어 쓰면 안 됨
✔ 전체 핵심 정리
- 반복문 조건에 쓰이는 값은 반드시 사전 입력
- 출력 형식(\\n)은 정답 조건의 일부
- range-based for문의 변수는 인덱스가 아닌 값
- 문자열 순회 시 접근 방식 혼용 금지
🎯 한 줄 요약
기초 문제의 핵심은 알고리즘이 아니라입력 순서 · 반복 조건 · 출력 형식을 정확히 지키는 것
'코딩테스트 - 백준, 프로그래머스 > [단계별, 코딩 기초 트레이닝]' 카테고리의 다른 글
| [반복문, Day 7] 빠른 A+B / 수열과 구간 쿼리 4 (0) | 2026.01.23 |
|---|---|
| [반복문, Day 6] 코딩은 체육과목 입니다 / 수열과 구간 쿼리 2 (1) | 2026.01.22 |
| [반복문, Day 6] 영수증 / 수열과 구간 쿼리 3 (0) | 2026.01.20 |
| [반복문, Day 6] 합 / 수 조작하기 2 (0) | 2026.01.19 |