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

 
Previous Post Cygwin(시그윈)에서, more 명령을 less 로 교체 - 앨리어스(alias)를 사...[Perl/펄] 소수점 몇 째 자리에서, 엑셀 스타일 반올림 함수 - RoundXLC언어 기초] 소수점 반올림 함수; Round To Int, roundToInt()구글 맵] 상세한 일본 전국/동경(도쿄)시내 상세 지도; 무료 지도; Google Maps...도스(DOS) 배치파일 명령어 목록[Perl/펄] 출력을 파일로 저장하기 - Save to File구글어스4] 팩맨(PACMAN) 크롭서클(Crop Circle) 발견 - Google Ea...[엑셀] 10진수/16진수 변환 함수, HEX2DEC / DEC2HEX - 십진수 십육진수...[Perl/펄] 랜덤(난수;Random)/무작위한 숫자 출력 함수 - rand - sran...사진 속의 눈이 빨갛게 나오는 적목(赤目)현상 - Red Eye

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

Tuesday, August 22, 2006

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

2 Comments:
At 1:41 PM, Anonymous 진이헌규 said...

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

 
At 3:07 PM, Blogger mwultong said...

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

(∩_∩)

 

Post a Comment

<< Home RSS 2.0 feed

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