2차원 배열에서 진행하는 수많은 알고리즘 문제 중, 신선하고 재미있었던 문제였다.
먼저 각 vertical에서 인형이 몇 번째 칸까지 쌓여있는지, 그 인덱스를 1차원 Int배열에 저장해두었다. (코드의 8 ~ 16번 줄)
이후, moves 배열을 하나씩 돌며,
- 뽑을 인형이 있는지 확인
-뽑을 인형이 있다면, stack에 인형이 있고, 맨 위에 쌓인 인형과 같은지 확인 후 => 터트리고 result += 2, stack에서 pop
- 인형을 터뜨릴 수 없다면, ( stack에 인형이 없었거나, 맨 위의 인형과 현재 뽑은 인형이 다른 경우) 쌓아 올림
-인형을 뽑았으니, 해당 vertical의 doll_top을 +1해준다.
백준 1644: 소수의 연속합 (Swift) 풀이 2 (0) | 2022.08.13 |
---|---|
2021 KAKAO BLIND RECRUITMENT: 신규 아이디 추천 (Swift) (0) | 2022.06.22 |
2019 KAKAO BLIND RECRUITMENT : 실패율 (Swift) (0) | 2022.06.22 |
프로그래머스 코딩테스트 연습문제 lv2: 가장 큰 정사각형 찾기 (Swift) (0) | 2022.06.21 |
2020 카카오 인턴십 : 키패드 누르기 (Swift) (0) | 2022.06.18 |