2022 01 22
1. 틀린 기록
2. 원인 분석
- 이번에도 역시나 런타임 에러였다. 그 중에서도 인덱스 오류가 계속 났었는데, 왜 이런 에러가 계속 날까 생각해보니까, 나는 문제를 풀 때 구상을 하고 끝까지 따져보지 않는 습관이 있었더라.
- for 반복문이 while 반복문 보다 자동으로 되는게 많은 만큼 (예를 들면 내가 변수 값을 변화시켜줄 필요가 없는 것), 더 조건을 잘 맞혀주어야 한다.
3. 해결
- for문으로는 i 값을 변경하는 데에 번거로움을 느껴서, while 문으로 해결했다.
- 일단 이웃한 원소의 값이 같다면, 앞쪽 인덱스의 원소를 삭제한다. 모든 배열의 원소를 그렇게 비교한다.
- 이미 이웃한 원소 중 하나를 없앤 상태이므로, 그 후에는 배열에 서로 같은 값이 있다면 그룹 단어라고 볼 수 없다.
- 그러한 단어에 대한 res 변수 값을 False로 만들었다.
- 마지막으로, True인 단어의 개수를 세어 그 값을 출력했다.
4. 배운 점
- 되게 오랫동안 고민했다. 이웃한 원소를 어떻게 효율적으로 판단할지, 떨어져 있으면 어떻게 판별해야 할 지 고민이었다.
- 문자열, 리스트를 가지고 문제를 풀 때에는 꼭 끝까지 경우를 따져보아야 한다는 것을 다시 한번 깨달았다.
'[ 알고리즘 ] > 오답노트' 카테고리의 다른 글
[ BOJ 오답노트 ] 2839 파이썬 : 설탕 배달 (0) | 2022.01.26 |
---|---|
[ BOJ 오답노트 ] 2775 파이썬 : 부녀회장이 될테야 (0) | 2022.01.25 |
[ BOJ 오답노트 ] 2292 파이썬 : 벌집 (0) | 2022.01.25 |
[ BOJ 오답노트 ] 2941 파이썬 : 크로아티아 알파벳 (0) | 2022.01.20 |
[ BOJ 오답노트 ] 15596 파이썬 : 정수 N개의 합 (0) | 2022.01.17 |