https://programmers.co.kr/learn/courses/30/lessons/43163
1. String 값 비교는 == 이 아닌 equals 사용할 것.
2. 문제 변수 잘 생각해볼것. 여기서 헤맸는데,
hot -> dot 비교할때 오직 전체길이 3개중에서 2개만 맞으면 바꿀 수 있는 경우라 생각해서 코드를 짰다.
그런데 그렇게 하면 hit -> pht 인 경우도 바꿀 수 있다고 판단하기 때문에 오류가 발생한다.
hit -> pht 의 경우 (h,t ) 개수로는 2개가 맞지만 실제 변경해야하는 알파벳은 2개라서(문제에서는 알파벳 1개만 변경가능하므로) 오류다.
: 값이 같은 갯수를 비교하는게 아니라, 값과 인덱스값도 동일한 값을 비교해야한다.
3. 다 풀고 나니 changeNum 함수를 더 간단히 수정할 수 있을 것 같다.
처음에 개수로 판단하다 보니 check함수를 사용했는데, 인덱스값도 동일한지를 비교하면 간단하게 int count++ 로 사용할 수 있을 것 같다.
DFS 푸는 방식은 많이 어렵지않았지만, 문제 안에 세세하게 다시 따져줘야 할게 있는 것 같은 level3 문제였다.
'Algorithm Study' 카테고리의 다른 글
[프로그래머스] 완주하지못한 선수(level.1) / 해시 / JAVA (0) | 2022.06.13 |
---|---|
[프로그래머스] 가장 큰 수 ( level.2) / JAVA / 정렬(Comparator) (0) | 2022.06.10 |
[프로그래머스] 타겟넘버 (level.2) / JAVA / DFS (0) | 2022.06.03 |
[프로그래머스] 카펫 (level.2) / JAVA /완전탐색 (0) | 2022.05.25 |
[프로그래머스] 소수찾기 (level.2) / JAVA/ 완전탐색 (0) | 2022.05.25 |