42-3-¶ó.min,max

min, max´Â µÎ °ª Áß Å« °ª°ú ÀÛÀº °ªÀ» Á¶»çÇÑ´Ù. C ¶óÀ̺귯¸®¿¡µµ µ¿ÀÏÇÑ À̸§ÀÇ ¸ÅÅ©·Î ÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖÁö¸¸ STLÀÇ min, max´Â ÅÛÇø´ ¹öÀüÀ̶ó´Â Á¡¿¡¼­ Á» ´õ ¿ì¿ùÇÏ´Ù.

 

const T& min(const T& x, const T& y [, BinPred F]);

const T& max(const T& x, const T& y [, BinPred F]);

 

Àμö·Î ºñ±³ ´ë»óÀÌ µÇ´Â µÎ °ªÀ» Àü´Þ¹Þ´Âµ¥ ¸¶Áö¸· Àμö·Î Á¶°ÇÀÚ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. Å©´Ù, ÀÛ´Ù¶ó´Â ºñ±³ ¿¬»êÀº Áö±ØÈ÷ ´Ü¼øÇÑ °³³äÀÌÁö¸¸ »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔ¿¡¼­´Â ÀÌ·± °£´ÜÇÑ ºñ±³Á¶Â÷µµ ´Ù¸¥ Àǹ̸¦ °¡Áú ¼ö ÀÖÀ¸¹Ç·Î Á¶°ÇÀÚ°¡ ºñ±³Çϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ µÎ ÇÔ¼ö´Â ¹Ýº¹ÀÚ ±¸°£¿¡¼­ °¡Àå Å« ¿ä¼Ò, °¡Àå ÀÛÀº ¿ä¼Ò¸¦ ã¾Æ ¹Ýº¹ÀÚ¸¦ ¸®ÅÏÇÑ´Ù.

 

FwdIt min_element(FwdIt first, FwdIt last[, BinPred F]);

FwdIt max_element(FwdIt first, FwdIt last[, BinPred F]);

 

ÃÖ´ë, ÃÖ¼Ò°ªÀ» ã±â À§ÇØ Àüü¸¦ Á¤·ÄÇÑ ÈÄ first¿Í last-1 À§Ä¡¸¦ ÀÐÀ» ¼öµµ ÀÖ´Ù. ±×·¯³ª °íÀÛ ÇϳªÀÇ °ªÀ» ã´Âµ¥ ¾²±â¿¡ Á¤·ÄÀº ³Ê¹« ºñ½Ñ ¾Ë°í¸®ÁòÀ̹ǷΠÀÌ·² ¶§´Â ÀÌ ÇÔ¼öµéÀ» ¾²´Â °ÍÀÌ ÁÁ´Ù. ¼øÂ÷ °Ë»ö ¹æ¹ýÀ» »ç¿ëÇϹǷΠ¹Ýº¹ÀÚ ±¸°£Àº ±»ÀÌ Á¤·ÄµÇ¾î ÀÖÁö ¾Ê¾Æµµ »ó°ü¾ø°í ÀÓÀÇ Á¢±Ù ¹Ýº¹ÀÚÀÏ Çʿ䵵 ¾ø´Ù. ¾ÆÁÖ °£´ÜÇÑ ÇÔ¼öµéÀ̹ǷΠ¿¹Á¦¸¸ ¸¸µé¾î º¸ÀÚ.

 

¿¹ Á¦ : minmax

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

 

void main()

{

     int i=3,j=5;

     printf("µÑ Áß ÀÛÀº °ªÀº %dÀ̰í Å« °ªÀº %dÀÌ´Ù.\n",min(i,j),max(i,j));

 

     int ari[]={49,26,19,77,34,52,84,34,92,69};

     vector<int> vi(&ari[0],&ari[10]);

     printf("º¤ÅÍ¿¡¼­ °¡Àå ÀÛÀº °ªÀº %dÀÌ°í °¡Àå Å« °ªÀº %dÀÌ´Ù.\n",

          *min_element(vi.begin(),vi.end()),*max_element(vi.begin(),vi.end()));

}

 

Á¤¼ö°ª µÑÀÇ ´ë¼Ò¸¦ ºñ±³ÇØ º¸¾Ò°í Á¤¼ö º¤ÅÍ¿¡¼­ °¡Àå Å« °ª°ú ÀÛÀº °ªÀ» °Ë»öÇØ º¸¾Ò´Ù.

 

µÑ Áß ÀÛÀº °ªÀº 3À̰í Å« °ªÀº 5ÀÌ´Ù.

º¤ÅÍ¿¡¼­ °¡Àå ÀÛÀº °ªÀº 19ÀÌ°í °¡Àå Å« °ªÀº 92ÀÌ´Ù.

 

ÁøÂ¥ Àΰ£ÀûÀ¸·Î ³Ê¹« ³Ê¹« ½¬¿î ÇÔ¼öµéÀÌ´Ù. STL¿¡ ÀÌ·¸°Ô ÂøÇÑ ÇÔ¼öµé¸¸ ÀÖ´Ù¸é ¹è¿ì±â Á¤¸» ½¬¿ïÅÙµ¥ ¸»ÀÌ´Ù.