https://www.acmicpc.net/problem/1195
완전 탐색 문제다. 두 배열 비교를 어떤 식으로 수행하는지 고민해야 하는 문제.
풀이
두 배열 중 짧은 배열을 덱을 사용하여 원소를 하나씩 담아낸 뒤 긴 배열과 비교, 짧은 배열의 원소를 모두 담아내었다면 긴 배열의 길이만큼 1을 추가하여 비교하였다. 값 갱신은 Bool 변수를 사용하여 두 원소가 모두 2일 경우에는 갱신을 하지 않는 방법으로 탐색하였다.
스위프트에는 기본적으로 제공되는 덱 구조가 없어서 배열을 사용하여 insert(_ newElement:Int , at:Int)를 사용했다. 시간 초과가 걱정되었지만 각 입력 배열의 길이가 최대 100으로 짧은 편에 속했고, 시간도 넉넉했기에 통과할 수 있었다. 이후 더 빠른 동작이 가능한지 궁금하여 배열을 합치는 방식으로 바꾸어 보았지만 큰 차이는 없었다.
정답 코드
'Problem Solving > BOJ' 카테고리의 다른 글
[1245] 농장 관리 (0) | 2022.11.04 |
---|---|
[1148] 단어 만들기 (0) | 2022.11.03 |
[1915] 가장 큰 정사각형 (0) | 2022.11.01 |
[1347] 미로 만들기 (0) | 2022.10.31 |
[1388] 바닥 장식 (0) | 2022.10.31 |