728x90
문제에서 cards1 과 cards2 배열의 길이가 달랐고 goal은 그것들을 합친 배열
이기 때문에 두 배열을 합친 후 그 새로운 배열안에서 각각의 우선순위를 비교하자니
너무 복잡해질것 같았다.
그래서 새로운 리스트를 다시 만들생각을 안하고
goal배열의 각각의 요소를 꺼내와서 cards1과 cards2 요소들에서
같은게 있는지 없는지 for문을 이용해서 비교하고자 했다.
그래서 코드를 아래와 같이 작성했다.
먼저 index1 과 index2를 cards1과 cards2의 인덱스로 설정하고
goal안의 요소들과 비교하고자
for(word in goal)을 이용했다.
각각의 인덱스는 cards1 cards2 배열의 크기보다 작고
요소는 word와 매치 되어야한다.
그래서 매치 된 goal안의 요소인 word는 변수foundInCards1 과 foundInCards1 에 저장된다.
그래서 그 요소가 존재하면 index값을 높여가고 배열범위를 벗어나면 "No"를 리턴한다.
내가 작성한 코드가 길어져서 문제를 다 푼후 확인해보니
정말 간결히 적는 사람들이 많았다.
그 중 이코드를 눈여겨 봤다.
내 코드의 절반이다..
연습이 엄청 많이 필요할것 같았다.
하루에 많은 양은 못풀더라도 생각을 많이 하면서 풀어야겠다.
728x90
'TIL > kotlin 알고리즘' 카테고리의 다른 글
kotlin 프로그래머스 lv1 소수 만들기 (0) | 2024.02.08 |
---|---|
kotlin 프로그래머스 lv1 모의고사 (1) | 2024.02.08 |
kotlin 프로그래머스 lv1 2016년 (0) | 2024.02.06 |
kotlin 프로그래머스 lv1 푸드 파이트 대회 (0) | 2024.02.02 |
kotlin 프로그래머스 lv1 가장 가까운 같은 글자 (0) | 2024.02.02 |