- 2503 (숫자야구)
- 질문마다 서로 다른 세 자리 수를 검사하면서 풀었다면, 서로 다른 세 자리수마다 질문을 만족하는지 검사한 샘플코드 풀이도 참고 추천 (효율면에선 비슷)
- 볼 계산은 string의 find 활용 (2중 for문 x)
- 10757 (큰 수 A+B)
- 모듈러/나누기 연산 활용
- 숫자 문자열을 정수 배열에 옮기는 과정 없이 하도록 유도 (메모리 절약)
- 숫자의 길이가 다른 경우 두 가지를 각각 처리하셨다면 하나로 합치도록 유도 (ex. A 문자열을 더 긴 문자열로 해 놓고 연산하는 방식 등으로 유도)
- 2798 (블랙잭)
- 초반에 카드의 숫자를 정렬하면, 계산하는 경우의 수를 조금 줄일 수 있음
- 1018 (체스판 다시 칠하기)
- W로 시작하는 체스판과 B로 시작하는 체스판은 정확히 반대입니다! 이 점을 이용하면 연산 수를 반으로 줄일 수 있음
- 1759 (암호 만들기)
- 들어오는 알파벳을 사전에 정렬하면, 암호를 만들 때마다 정렬할 필요가 없음
- 2858 (기숙사 바닥)
- 반복문을 돌릴 때 범위를 1~$sqrt(x)$로 잡으면 가로와 세로의 길이 비교를 하지 않아도 됨
- R+B의 약수 조합이 L, W인걸 파악했는지
- (L-2)(W-2) = B 이기도 함
- 17626 (Four Squares)
- 혹시 삼 중 for문으로 풀 경우, 바로 return하면 안 됨. 3개로 만드는 수보다 2가 가능한 경우가 나중에 나올 수 있음