[Software] Fortran: 배열에서 중복 요소 제거하기
Fortran에서 배열(array)에서 중복되는 요소를 제거하는 루틴을 작성했다. 기존의 인터넷 상의 코드는 2개 이상의 중복되는 요소들에서 중복되는 것만 제거하는 방식이다. 기존 Fortran 코드: Remove duplicate elements program remove_dups implicit none integer :: example(12) ! The input integer :: res(size(example)) ! The output integer :: k ! The number of unique elements integer :: i, j example = [1, 2, 3, 2, 2, 4, 5, 5, 4, 6, 6, 5] k = 1 res(1) = example(1) outer: do i=2,size(example) do j=1,k if (res(j) == example(i)) then ! Found a match so start looking again cycle outer end if end do ! No match found so add it to the output k = k + 1 ...