TIL 2026-03-05
TIL 2026-03-05
3/5 - 코드카타/코드 정리/programmers
생성일: 2026년 3월 5일 오후 5:42
오늘 풀이 + README/CodeKata.md 정리 내용을 함께 기록
1) 두 수의 차
- 핵심: 문제 요구 그대로 num1 - num2 반환
- 포인트: 제한사항 범위는 입력 보장이라 별도 방어코드 불필요
1
2
3
int solution(int num1, int num2) {
return num1 - num2;
}
2) 두 수의 곱
- 핵심: num1 * num2를 그대로 반환
- 포인트: 단순 연산 문제는 불필요 변수(answer) 없이 바로 return 가능
1
2
3
int solution(int num1, int num2) {
return num1 * num2;
}
3) 등차수열/등비수열 다음 항
- 판별 기준: 앞 3개로 등차 여부 확인 (차가 같으면 등차)
- 등차: 마지막 + 공차 / 등비: 마지막 * 공비
- 복잡도: O(1) (고정 개수 원소만 확인)
1
2
3
4
5
6
7
8
9
int solution(vector<int> common) {
if ((common[1] - common[0]) == (common[2] - common[1])) {
int d = common[1] - common[0];
return common.back() + d;
} else {
int r = common[1] / common[0];
return common.back() * r;
}
}
4) CodeKata.md / README 링크 정리 포인트
- GitHub Markdown 상대경로는 \ 가 아니라 / 사용
- CodeKata.md가 3월/ 폴더에 있으면 링크는 ../CodeingTest/… 형태로 작성
- 표 문법은 헤더/구분선 포함해서 작성해야 렌더 안정적
1
2
3
| 날짜 | 문제 | 링크 |
|---|---|---|
| 2026-03-05 | 두 수의 차 | [정리보기](../CodeingTest/CodingTest/CodeKata/CodeKata_01.cpp) |
5) 오늘 회고
- 문제 자체보다 제출 포맷(raw code, 링크 경로)에서 시행착오가 많았음
- 앞으로는 풀이 후 README 링크까지 즉시 검증하는 루틴으로 고정
수정 보강하면 좋을점
- CodeKata.md 링크 전체 클릭 테스트 후 깨진 링크 수정
- 수열 문제 3개 추가 풀이 (등차/등비 판별 로직 자동화)
- 기본 수학/구현 문제는 “바로 return” 패턴으로 불필요 코드 줄이기
프로그래머스 ) 연속된 수의 합
부족했던 점
- 문제를 등차수열 합으로 바로 변환하기보다, 나눠떨어짐/안떨어짐 케이스 분기로 먼저 접근해서 복잡도가 올라감.
- 루프 내부 변수(count) 갱신 흐름이 불명확해져 시작값 추적이 어려웠음.
- 공식을 떠올렸지만, 식으로 고정해 단일 로직으로 정리하는 단계가 늦었음.
개선점
- 문제 해석 직후 “필요한 값은 첫 항(start) 1개”로 목표를 축소한다.
- 분기 대신 단일 공식으로 처리해 구현 실수(조건 누락/중복 로직) 줄인다.
- 검증 루틴을 고정한다: (짝수 num / 홀수 num / 음수 포함) 케이스를 최소 3개 대입 확인.
공식 분석
1
2
3
4
5
6
7
8
9
10
11
12
연속된 num개 수를
start, start+1, ..., start+(num-1)
라고 두면,
합 = num*start + num*(num-1)/2 = total
따라서
start = (total - num*(num-1)/2) / num
코드에서 자주 쓰는 동치 형태:
start = total/num - (num-1)/2
(이 문제는 항상 해가 존재한다고 보장)
결과 코드 (최종)
1
2
3
4
5
6
7
8
9
vector<int> solution(int num, int total) {
vector<int> answer;
int start = total / num - (num - 1) / 2;
for (int i = 0; i < num; i++) {
answer.push_back(start + i);
}
return answer;
}
복습 체크리스트
- 등차수열 합 공식에서 start를 직접 유도해 종이에 1회 정리
- 같은 패턴 문제 1개를 분기 없이 단일 식으로 구현
- 루프 변수는 start+i 형태로 단순화하는 습관 유지
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.