mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Thursday, April 05, 2007

Perl 펄] 배열에서 중복된 요소 제거, 동일 데이터 지우기; Unique Elements


배열의 각 요소들은 같은 값이 여러 개 중복되어 있을 수 있습니다. 동일한 값의 요소들을 모두 하나로 합치는 방법입니다. 즉 배열을 최적화하는 것입니다.

아래의 uniqueElements() 함수로 이런 작업을 할 수 있습니다.

배열(Array)의 같은 값 삭제, 단일화 예제


스크립트 파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;


  my @names = qw/ 맹구 강수정 배용준 땡칠이 장동건 이효리 이효리 강수정 송혜교 고은아 이효리 /;

  # 중복된 요소 있는 원본 배열 출력
  print "$_ " foreach (@names);
  # 출력 결과: 맹구 강수정 배용준 땡칠이 장동건 이효리 이효리 강수정 송혜교 고은아 이효리
  # 원본과 똑같이, 강수정과 이효리가 중복되어 있음


  print "\n\n\n"; # 줄바꿈


  # 중복된 요소 모두 삭제하고 출력
  @names = uniqueElements(@names);
  print "$_ " foreach (@names);
  # 출력 결과: 맹구 강수정 배용준 땡칠이 장동건 이효리 송혜교 고은아
  # 이제 강수정과 이효리가 한번씩만 들어 있음




# 주어진 배열에서, 중복되는 요소들을 모두 삭제하고 리턴하는 함수
sub uniqueElements {
  my ($item, %seen, @result);

  foreach $item (@_) {
    push(@result, $item) unless $seen{$item}++;
  }

  return @result;
}



대소문자 구분 없이, 고유 요소 구하기: ▶▶ Perl 펄] 영문 배열 고유 요소만 구하기, 대소문자 구분 없이; Unique Elements Ignore Case


숫자 배열의 고유 숫자를 구하는 법도 똑같습니다: ▶▶ Perl 펄] 배열의 중복된 숫자 제거, 동일 값 지우기; Array Unique Number




tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top