-
1316 (그룹 단어 체커)
- 그룹 단어 체크하는 부분의 시간복잡도는 O(n)까지 줄일 수 있음
- 그룹 단어 체크하는 부분은 bool 리턴 함수로
- 혹시 인덱스 참조가 런타임 에러 가능성이 있진 않은지 확인
-
20923 (숫자 할리갈리 게임)
- 카드끼리, 그리고 덱끼리 묶어서 배열을 활용해 저장하면 도도의 경우와 수연이의 경우를 나누어서 각각 구현할 필요가 없음.
→ 도도 차례와 수연 차례를 나타내는 변수 선언
- (Python) deque.extend(), duqeu.extendleft()에 대해 알아보기
-
11723 (집합)
- 연산의 수가 많기 때문에 검색, 삽입시 오래 걸리는 set 사용하면 시간초과. 인덱스를 수로 접근하는 배열 사용해서 수 존재 여부 true/false로 저장해야 함.
- (C++) true는 1, false는 0을 출력하므로 해당 문자가 나왔는지 if문으로 확인해줄 필요 없음
- all, empty는 입력을 받지 않기 때문에 다른 것들보다 먼저 위에서 처리를 해준 뒤, continue로 제어를 하면 입력을 한 줄만 써도 됨
- all, empty 입력 받았을 시, true, false 로 바꿔야 하므로 재할당 해주는 assign 함수 사용
- 각 명령에 대한 처리가 간단하기 때문에 + 함수로 빼줄 경우 void 쓰게 되므로 연산은 main에서 처리해주는 편이 좋음
-
1009 (분산처리)
- a^b 의 일의 자리를 구하는 문제이기 때문에 일의 자리만 생각
- 주기가 마침 1, 2, 4 였기에 4의 나머지로 커버가 가능한 것. 안전하게 각 일의 자리마다 주기를 구하고 풀어주는 것이 좋음 (나중에 비슷한 풀이에서도 유연하게 적용할 수 있도록!)
-
19636 (요요 시뮬레이션)
- 기초대사량 변화 고려하지 않는 경우를 반복문으로 하셨다면, 사칙연산으로 한 번에 해결하도록 유도
- (C++) (헤매고 계신다면) floor 함수 사용 시 적용한 수가 실수인지 확인. 아니라면 여기 디버깅 해보시라고 유도 (정수면 floor 함수 제대로 적용이 안됨. ex) floor(-5/2) = -2, floor(-5/2.0) = -3)
- 음수 나누기 부분을 비효율적으로 하고 계신다면 한 번에 처리 하시도록 유도 or floor 함수 소개