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

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

 
Tuesday, August 22, 2006

Perl/펄] 배열(Array)에서, 최소값(Min) 최대값(Max) 구하기


List::Util 모듈을 사용하여, 최소값/최대값 구하기


펄의 기본 모듈 중의 하나인 List::Util 속의 min max 함수를 사용하는 것입니다.
min / max 함수 안에 배열을 집어넣으면, 최소값이나 최대값을 반환합니다.
아래 예제에서는 @foo 라는 배열을 만들어, 최소 최대값을 구했습니다.

#!/usr/bin/perl
use strict; use warnings;

use List::Util qw/ min max /;

my @foo = qw/ 12 91 1 -88 4 7 25 305 10 9934 6553 -35 0 10 /;

print "Min: ", min(@foo), "\n";
print "Max: ", max(@foo), "\n";


결과:
Min: -88
Max: 9934





sort 함수 사용하여


배열(@foo)을 순방향 역방향으로 소팅(정렬)시킨 후, 그 배열의 첫번째 요소 ($foo[0]) 만 취하여, 최소/최대값을 구하는 방법입니다.

#!/usr/bin/perl
use strict; use warnings;

my @foo = qw/ 12 91 1 -88 4 7 25 305 10 9934 6553 -35 0 10 /;


@foo = sort { $a <=> $b } @foo;
print "Min: $foo[0]\n";


@foo = reverse sort { $a <=> $b } @foo;
print "Max: $foo[0]\n";


결과:
Min: -88
Max: 9934


@foo 는 foo 라는 이름의 배열이고, $foo[0] 는 배열 @foo의 첫번째 요소입니다.
그러나 $foo[0] 와 $foo 는 전혀 다른 변수이고 아무 상관도 없습니다.
물론 위의 코드에 $foo 라는 변수는 없습니다.




아무튼 배열에서, 최소값 최대값을 구하는 것은 간단합니다.

해쉬(Hash)의 최소/최대값을 구하는 방법은 여기에 있습니다: ▶▶ [Perl] 해쉬: 최대값 최소값 가진 키 구하기



크기가 큰 배열에서는 소팅으로 값을 찾으면 너무 느리기에, for문으로 찾는 방법입니다.
▶▶ 펄.Perl] 숫자 배열에서, 최소값 최대값 찾기 - Find Min Max Value


최소값 최대값 찾기 계산기: ▶▶ 평균 계산기, 합계 구하기, 표준편차 계산기, 중앙값; Sum Average Stdev Median Calc




tag: perl
Perl | 펄

2 Comments:
At August 22, 2006 at 1:41 PM, Anonymous Anonymous said...

List::Util이라는 모듈이 있었네요. 항상 sort해서 사용하고 있었는데.. 좋은 정보 잘 보았습니다. ^^

 
At August 22, 2006 at 3:07 PM, Blogger mwultong said...

List::Util 이라는 모듈의 이름만으로는
min, max 함수가 들어 있는지 쉽게 알 수 없더군요. 저도 최근에서야 알았습니다.

(∩_∩)

 

<< Home RSS 2.0 feed

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