🔎 문제
🧩 구현과정 및 코드
개인 토글 영역에 구현 과정과 코드를 자유롭게 작성해주시면 됩니다.
사용할 데이터 구조와 풀이 방향성
적용할 알고리즘 혹은 메서드
수영
정은
종혁
구현
numbers배열의 모든 수를 다 계산해봐야 답이 나올 것 같다는 생각이 들었고,numbers의 또한 길이가 최대 20이어서 모든 경우의 수를 다 따져보기로 함
dfs를 통해numbers[count]가 [-1,1]을 한번씩 가진 경우를 구하고, 결과값을 acc에 저장하여dfs(count+1,acc+numbers[count])로 다음 원소를 살펴보고, 모든 배열을 다 돌았을 때(count가length와 같아졌을 때)acc === target인지 체크- [-1,1]이라는 배열을 사용하지 않아도
acc-numbers[count]acc+numbers[count]처럼acc에서 현재 원소를-하는 경우/+하는 경우로 나눠서도 가능
코드
재웅
✏️ 후기
문제를 풀고 느낀 점, 막혔던 부분 혹은 개선 사항 등을 자유롭게 작성해주시면 됩니다.
수영
- 재귀 문제를 더 풀어봐야겠다.
정은
- 배열 대신에 인덱스를 넘겨주는 방식도 존재했다.
- bfs는 어떻게 구현하는지 궁금해서, 한번 풀어보고 싶다.
종혁
- 각 원소들이 카드 두개 중 하나를 선택하는 모든 경우를 구하는데, 그 카드의 값이 -1 또는 1 인 경우라고 생각하니 쉽게 풀렸던것같다
재웅
- 스택으로 구현해봤는데, 연산량이 그리 많지 않아 재귀보다 나은지 잘 모르겠다.