2024. 5. 28. 22:48ㆍ코드리뷰
공부하는허딩크 : https://www.youtube.com/live/Q-70F3kAD8c?feature=shared
쉽게 생각했는데 먼 길을 돌아 왔다.
<첫번째 시도 : 88점> : 실제는 계속 print를 하면서 확인했는데 몇가지 의문점이 있다. 그건 아래에 리뷰.
조건을 잘 읽지 않고 대충 생각해서 정확히 파악을 하지 못했다.
조건중에 "goal의 원소는 cards1과 cards2의 원소들로만 이루어져 있습니다."를 완벽히 1:1매칭이 되는걸로 착각했다.
반대로 cards1과 cards2의 원소는 goal의 원소들로만 이루어져 있다는게 아니다.
이것을 간과하고 고민을 하니까 답이 나오지 않았다.
<두번째 시도 : 통과>
새로운 변수에 cards1과 cards2의 첫번째 문자부터 넣고, 다시 지우고를 반복해서
새로운 변수와 goal이 동일하다면 "Yes", 동일하지 않다면 "No"가 출력 된다.
<다른사람 풀이 참고>
나도 이거랑 비슷한 생각을 했는데 계속 딴 길로 잘못들어갔다.
cards를 지우면서 계속 인덱스 0위치에 있는거랑 매칭이 되지 않으면 "No"를 출력하게 한다.
<계속 오류가 나왔던 코드>
아래의 코드에서 계속 i의 값에서 제외되는 값이 생겼다.
chatgpt답변은?
goal 리스트를 순회하면서 요소를 삭제하는 방식에서 발생하는 문제는, 리스트의 크기가 줄어들면서 인덱스가 바뀌기 때문에 예상치 못한 결과가 나오는 것이다. ※리스트의 요소를 순회하는 동안 리스트 자체를 수정하면 인덱스가 올바르게 유지되지 않기 때문이다.
- 첫 번째 요소인 "i"가 goal에서 제거됩니다.
- "want"는 더 이상 첫 번째 요소가 아니기 때문에 조건에 맞지 않아 건너뜁니다.
- 다음 요소는 "to"가 되며, goal에서 제거됩니다.
- 그 후 "drink"가 출력됩니다.
따라서, "want"가 출력되지 않습니다. 이를 해결하기 위해서는 goal 리스트를 직접 수정하지 않고 다른 방법으로 해결해야 합니다.
'코드리뷰' 카테고리의 다른 글
[python_파이썬_2021 Dev-Matching: 웹 백엔드 개발자(상반기)]프로그래머스_LV1_로또의 최고 순위와 최저 순위_풀이 (0) | 2024.05.31 |
---|---|
★[python_파이썬_2022 KAKAO TECH INTERNSHIP]프로그래머스_LV1_성격 유형 검사하기_풀이 (0) | 2024.05.29 |
[파이썬&python_pass]프로그래머스_LV1_추억 점수_풀이 (0) | 2024.05.28 |
★[python_파이썬_2021 카카오 채용연계형 인턴쉽]프로그래머스_LV1_숫자 문자열과 영단어_풀이 (0) | 2024.05.28 |
★[python_파이썬_2018 KAKAO BLIND RECRUITMENT]프로그래머스_LV1_[1차] 다트 게임_풀이 (0) | 2024.05.25 |