Thursday, April 05, 2007
Perl 펄] 배열의 중복된 숫자 제거, 동일 값 지우기; Array Unique Number
숫자로 이루어진 배열이나 숫자가 포함된 배열에서, 중복된 숫자를 지우고 고유한 숫자만 남기는 방법입니다.
펄에서는 숫자와 문자열의 구분이 거의 없기 때문에, 문자열 배열의 중복된 요소를 지우는 것과 같은 방법을 사용하면 됩니다.
스크립트 파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
참고: ▶▶ Perl 펄] 배열에서 중복된 요소 제거, 동일 데이터 지우기; Unique Elements
펄에서는 숫자와 문자열의 구분이 거의 없기 때문에, 문자열 배열의 중복된 요소를 지우는 것과 같은 방법을 사용하면 됩니다.
숫자 배열의, 같은 숫자 지우기 예제
스크립트 파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;
my @num = qw/ 10 10 10 20 30 -0.5 3.14 -0.5 3.14 10 20 30 /;
# 중복된 요소 모두 삭제하고 출력
@num = uniqueElements(@num);
print "$_ " foreach (@num);
# 출력 결과: 10 20 30 -0.5 3.14
# 중복된 숫자들이 이제 하나씩만 나옵니다.
# 주어진 배열에서, 중복되는 요소들을 모두 삭제하고 리턴하는 함수
sub uniqueElements {
my ($item, %seen, @result);
foreach $item (@_) {
push(@result, $item) unless $seen{$item}++;
}
return @result;
}
use strict; use warnings;
my @num = qw/ 10 10 10 20 30 -0.5 3.14 -0.5 3.14 10 20 30 /;
# 중복된 요소 모두 삭제하고 출력
@num = uniqueElements(@num);
print "$_ " foreach (@num);
# 출력 결과: 10 20 30 -0.5 3.14
# 중복된 숫자들이 이제 하나씩만 나옵니다.
# 주어진 배열에서, 중복되는 요소들을 모두 삭제하고 리턴하는 함수
sub uniqueElements {
my ($item, %seen, @result);
foreach $item (@_) {
push(@result, $item) unless $seen{$item}++;
}
return @result;
}
참고: ▶▶ Perl 펄] 배열에서 중복된 요소 제거, 동일 데이터 지우기; Unique Elements
tag: perl
Perl | 펄
<< Home