-
728x90
class Solution { fun solution(ingredient: IntArray): Int { var answer: Int = 0 var temp = ingredient.toMutableList() var check = 0 while(check+3 <= temp.size){ if(temp[check] == 1 && temp[check+1] == 2 && temp[check+2] == 3 && temp[check+3] == 1){ answer++ temp.removeAt(check+3) temp.removeAt(check+2) temp.removeAt(check+1) temp.removeAt(check) if(check >= 3) { check -= 3 } else { check = 0 } } else { check++ } } return answer } }
해당 문제는 구현하기 쉽지만, 반례를 잘 생각해야 통과할 수 있는 문제였습니다.
해당 코드를 반례를 생각하지 못하고 몇번이나 작성하며, 반례가 떠올라 모든 케이스를 통과 할 수 있었습니다.
상기 코드는 현재 저의 실력으로 작성하였으며, 최적의 코드가 아님을 말씀드립니다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스][Kotlin]기사단원의 무기 (0) 2022.11.21 과일장수 (0) 2022.11.11 [프로그래머스][Kotlin]옹알이(2) (0) 2022.11.10 2개 이하로 다른 비트 (0) 2022.10.31 연속 부분 수열 합의 개수 (0) 2022.10.27