<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=LoadBalancingProblem%2F%EC%9E%84%EC%9D%B8%ED%83%9D</id>
	<title>LoadBalancingProblem/임인택 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=LoadBalancingProblem%2F%EC%9E%84%EC%9D%B8%ED%83%9D"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;action=history"/>
	<updated>2026-05-14T20:21:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=87499&amp;oldid=prev</id>
		<title>Maintenance script: Repair MoniWiki formatting after migration</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=87499&amp;oldid=prev"/>
		<updated>2026-03-29T00:34:24Z</updated>

		<summary type="html">&lt;p&gt;Repair MoniWiki formatting after migration&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:34, 29 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l382&quot;&gt;Line 382:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 382:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;LoadBalancingProblem&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;LoadBalancingProblem&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=84603&amp;oldid=prev</id>
		<title>Maintenance script: Repair batch-0002 pages from live compare</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=84603&amp;oldid=prev"/>
		<updated>2026-03-27T00:16:07Z</updated>

		<summary type="html">&lt;p&gt;Repair batch-0002 pages from live compare&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;amp;diff=84603&amp;amp;oldid=34279&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=34279&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=LoadBalancingProblem/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=34279&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; == LoadBalancingMain.java ==&lt;br /&gt;
 /**&lt;br /&gt;
  * @author Administrator&lt;br /&gt;
  *&lt;br /&gt;
  * To change this generated comment edit the template variable &amp;quot;typecomment&amp;quot;:&lt;br /&gt;
  * Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Templates.&lt;br /&gt;
  * To enable and disable the creation of type comments go to&lt;br /&gt;
  * Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Code Generation.&lt;br /&gt;
  */&lt;br /&gt;
 import junit.framework.*;&lt;br /&gt;
 import junit.textui.*;&lt;br /&gt;
 &lt;br /&gt;
 public class LoadBalancingMain {&lt;br /&gt;
 	public static void main(String[] args) {&lt;br /&gt;
 		TestSuite suite = new TestSuite();&lt;br /&gt;
 		&lt;br /&gt;
 		suite.addTestSuite(TestLoadBalancing.class);&lt;br /&gt;
 		&lt;br /&gt;
 		TestRunner.run(suite);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
   &lt;br /&gt;
 == TestLoadBalancing.java ==&lt;br /&gt;
 /**&lt;br /&gt;
  * @author Administrator&lt;br /&gt;
  *&lt;br /&gt;
  * To change this generated comment edit the template variable &amp;quot;typecomment&amp;quot;:&lt;br /&gt;
  * Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Templates.&lt;br /&gt;
  * To enable and disable the creation of type comments go to&lt;br /&gt;
  * Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Code Generation.&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 import junit.framework.*;&lt;br /&gt;
 &lt;br /&gt;
 public class TestLoadBalancing extends TestCase{&lt;br /&gt;
 &lt;br /&gt;
 	public void testSetNGetData() {&lt;br /&gt;
 		LoadBalancing bal = new LoadBalancing(3);&lt;br /&gt;
 		&lt;br /&gt;
 		int sData[] = {1,3,3};&lt;br /&gt;
 		int gData[];&lt;br /&gt;
 		&lt;br /&gt;
 		bal.setData(sData);&lt;br /&gt;
 		gData = bal.getData();&lt;br /&gt;
 		&lt;br /&gt;
 		for(int i=0; i&amp;amp;lt;sData.length; i++)&lt;br /&gt;
 			assertEquals(sData[i], gData[i]);&lt;br /&gt;
 	}	&lt;br /&gt;
 	public void testGetSumOfJob() {&lt;br /&gt;
 		LoadBalancing bal = new LoadBalancing(3);&lt;br /&gt;
 		&lt;br /&gt;
 		int data[]={1,3,4};&lt;br /&gt;
 		bal.setData(data);&lt;br /&gt;
 		&lt;br /&gt;
 		assertEquals(bal.getSumOfJob(), 8);&lt;br /&gt;
 		assertEquals(bal.getMaximumJob(), 4);&lt;br /&gt;
 		assertEquals(bal.getMinimumJob(), 1);&lt;br /&gt;
 	}&lt;br /&gt;
 	public void testCheckLeftRight() {&lt;br /&gt;
 		LoadBalancing bal = new LoadBalancing(10);&lt;br /&gt;
 		&lt;br /&gt;
 		/*int data[]={1,2,3,4,5,6,7,8,9,10};&lt;br /&gt;
 		bal.setData(data);&lt;br /&gt;
 		&lt;br /&gt;
 		assertEquals(bal.checkLeft(0), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(1), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(2), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(3), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(4), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(5), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(6), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(7), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(8), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(9), true);&lt;br /&gt;
 		&lt;br /&gt;
 		assertEquals(bal.checkRight(0), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(1), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(2), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(3), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(4), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(5), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(6), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(7), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(8), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(9), false);&lt;br /&gt;
 		&lt;br /&gt;
 		int data_[] = {5,5,5,5,5,5,5,5,5,10};&lt;br /&gt;
 		bal.setData(data_);&lt;br /&gt;
 		assertEquals(bal.checkLeft(0), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(1), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(2), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(3), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(4), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(5), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(6), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(7), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(8), true);&lt;br /&gt;
 		assertEquals(bal.checkLeft(9), true);&lt;br /&gt;
 		&lt;br /&gt;
 		assertEquals(bal.checkRight(0), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(1), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(2), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(3), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(4), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(5), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(6), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(7), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(8), false);&lt;br /&gt;
 		assertEquals(bal.checkRight(9), false);&lt;br /&gt;
 		&lt;br /&gt;
 		int data__[] = {10,9,8,7,6,5,4,3,2,1};&lt;br /&gt;
 		bal.setData(data__);&lt;br /&gt;
 		&lt;br /&gt;
 		assertEquals(bal.checkLeft(0), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(1), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(2), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(3), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(4), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(5), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(6), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(7), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(8), false);&lt;br /&gt;
 		assertEquals(bal.checkLeft(9), false);&lt;br /&gt;
 		&lt;br /&gt;
 		assertEquals(bal.checkRight(0), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(1), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(2), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(3), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(4), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(5), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(6), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(7), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(8), true);&lt;br /&gt;
 		assertEquals(bal.checkRight(9), false);*/&lt;br /&gt;
 		&lt;br /&gt;
 		bal = new LoadBalancing(10);&lt;br /&gt;
 		int data___[]={13,13,13,13,13,14,14,15,13,13};&lt;br /&gt;
 		bal.setData(data___);&lt;br /&gt;
 		&lt;br /&gt;
 		//assertEquals(true, bal.checkRight(7));&lt;br /&gt;
 		//assertEquals(true, bal.checkLeft(7));&lt;br /&gt;
 		&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 	public void testLoadBalancing() {&lt;br /&gt;
 		&lt;br /&gt;
 		LoadBalancing bal = new LoadBalancing(3);&lt;br /&gt;
 		&lt;br /&gt;
 		int data[]={0,3,0};&lt;br /&gt;
 		bal.setData(data);&lt;br /&gt;
 		bal.loadBalance();&lt;br /&gt;
 		&lt;br /&gt;
 		bal.printInfo();&lt;br /&gt;
 		&lt;br /&gt;
 		bal = new LoadBalancing(10);&lt;br /&gt;
 		int data_[] = {1,2,3,4,5,6,7,8,9,10};&lt;br /&gt;
 		bal.setData(data_);&lt;br /&gt;
 		bal.loadBalance();&lt;br /&gt;
 		&lt;br /&gt;
 		bal.printInfo();&lt;br /&gt;
 		&lt;br /&gt;
 		bal = new LoadBalancing(10);&lt;br /&gt;
 		int data__[]={5,0,10,6,1,49,1,50,3,9};&lt;br /&gt;
 		assertEquals(10, data__.length);&lt;br /&gt;
 		bal.setData(data__);&lt;br /&gt;
 		bal.loadBalance();&lt;br /&gt;
 		&lt;br /&gt;
 		bal.printInfo();&lt;br /&gt;
 		&lt;br /&gt;
 		bal = new LoadBalancing(10);&lt;br /&gt;
 		int data___[]={13,13,13,13,13,13,13,13,15,14};&lt;br /&gt;
 		bal.setData(data___);&lt;br /&gt;
 		bal.loadBalance();&lt;br /&gt;
 		&lt;br /&gt;
 		bal.printInfo();&lt;br /&gt;
 		&lt;br /&gt;
 		bal = new LoadBalancing(10);&lt;br /&gt;
 		int data____[]={0,9,0,0,0,0,0,0,0,0};&lt;br /&gt;
 		bal.setData(data____);&lt;br /&gt;
 		bal.loadBalance();&lt;br /&gt;
 		&lt;br /&gt;
 		bal.printInfo();&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 }&lt;br /&gt;
   &lt;br /&gt;
 == LoadBalancing.java ==&lt;br /&gt;
 /**&lt;br /&gt;
  * @author Administrator&lt;br /&gt;
  *&lt;br /&gt;
  * To change this generated comment edit the template variable &amp;quot;typecomment&amp;quot;:&lt;br /&gt;
  * Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Templates.&lt;br /&gt;
  * To enable and disable the creation of type comments go to&lt;br /&gt;
  * Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Code Generation.&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 public class LoadBalancing {&lt;br /&gt;
 	&lt;br /&gt;
 	private int _processor[];&lt;br /&gt;
 	private int _processorNum;&lt;br /&gt;
 	private int _movedJob;&lt;br /&gt;
 	&lt;br /&gt;
 	public LoadBalancing(int processorNum) {&lt;br /&gt;
 		_processor = new int[processorNum];&lt;br /&gt;
 		_processorNum = processorNum;		&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int getProcessorNum() {&lt;br /&gt;
 		return _processorNum;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int[] getProcessorInfo() {&lt;br /&gt;
 		return _processor;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int getSumOfJob() {&lt;br /&gt;
 		int sum=0;&lt;br /&gt;
 		&lt;br /&gt;
 		for(int i=0; i&amp;amp;lt;_processor.length; i++)&lt;br /&gt;
 			sum+=_processor[i];&lt;br /&gt;
 		&lt;br /&gt;
 		return sum;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void setData(int[] data) {&lt;br /&gt;
 		for(int i=0; i&amp;amp;lt;data.length; i++)&lt;br /&gt;
 			_processor[i] = data[i];&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int[] getData() {&lt;br /&gt;
 		return _processor;&lt;br /&gt;
 	}&lt;br /&gt;
 	public void loadBalance() {&lt;br /&gt;
 		int sum = getSumOfJob();&lt;br /&gt;
 		int average = sum/_processor.length;&lt;br /&gt;
 		int remain  = sum%_processor.length;&lt;br /&gt;
 		int pos=0;&lt;br /&gt;
 		&lt;br /&gt;
 		while( !isFinishedCondition() ) {&lt;br /&gt;
 			if( pos!=0 &amp;amp;amp;&amp;amp;amp; checkLeft(pos) &amp;amp;amp;&amp;amp;amp; _processor[pos]!=0) {&lt;br /&gt;
 				_processor[pos-1]++;&lt;br /&gt;
 				_processor[pos]--;&lt;br /&gt;
 				_movedJob++;&lt;br /&gt;
 				&lt;br /&gt;
 				System.out.println(pos + &amp;quot; 에서&amp;quot; + (pos-1) + &amp;quot; 로 옮김&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 			else if( pos&amp;amp;lt;_processor.length-1 &amp;amp;amp;&amp;amp;amp; checkRight(pos) &amp;amp;amp;&amp;amp;amp; _processor[pos]!=0) {&lt;br /&gt;
 				_processor[pos]--;&lt;br /&gt;
 				_processor[pos+1]++;&lt;br /&gt;
 				_movedJob++;&lt;br /&gt;
 				&lt;br /&gt;
 				System.out.println(pos + &amp;quot; 에서&amp;quot; + (pos+1) + &amp;quot; 로 옮김&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 			&lt;br /&gt;
 			pos++;&lt;br /&gt;
 			&lt;br /&gt;
 			printInfo();&lt;br /&gt;
 			&lt;br /&gt;
 			if( pos==_processor.length ) {&lt;br /&gt;
 				pos = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public boolean isFinishedCondition() {&lt;br /&gt;
 		if( getMaximumJob()-getMinimumJob() &amp;amp;lt;= 1 )&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else&lt;br /&gt;
 			return false;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int getMaximumJob() {&lt;br /&gt;
 		int ret = Integer.MIN_VALUE;&lt;br /&gt;
 &lt;br /&gt;
 		for(int i=0; i!=_processor.length; i++) {&lt;br /&gt;
 			ret = (ret&amp;amp;lt;_processor[i])?_processor[i]:ret;&lt;br /&gt;
 		}&lt;br /&gt;
 		return ret;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int getMinimumJob() {&lt;br /&gt;
 		int ret = Integer.MAX_VALUE;&lt;br /&gt;
 		&lt;br /&gt;
 		for(int i=0; i!=_processor.length; i++) {&lt;br /&gt;
 			ret = (ret&amp;amp;gt;_processor[i])?_processor[i]:ret;&lt;br /&gt;
 		}&lt;br /&gt;
 		return ret;		&lt;br /&gt;
 	}&lt;br /&gt;
 	public boolean checkLeft(int index) {&lt;br /&gt;
 		int average = getSumOfJob() / _processor.length;&lt;br /&gt;
 		int remian = getSumOfJob() % _processor.length;&lt;br /&gt;
 		int leftSum = 0;&lt;br /&gt;
 		int rightSum = 0;&lt;br /&gt;
 		int partialLength = (index==0)? 1:index;&lt;br /&gt;
 		&lt;br /&gt;
 		if( index==0 ) {&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		// 왼쪽 평균&amp;amp;lt;오른쪽 평균&lt;br /&gt;
 		for(int i=0; i&amp;amp;lt;index; i++) {&lt;br /&gt;
 			leftSum+=_processor[i];&lt;br /&gt;
 		}&lt;br /&gt;
 		rightSum = getSumOfJob() - leftSum;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 		if( average==0 ) {&lt;br /&gt;
 			if(leftSum &amp;amp;lt; index-1 )&lt;br /&gt;
 				return true;&lt;br /&gt;
 			else&lt;br /&gt;
 				return false;&lt;br /&gt;
 		}&lt;br /&gt;
 		else if( leftSum/index &amp;amp;lt; rightSum/(_processor.length-index) ) {&lt;br /&gt;
 			System.out.println(&amp;quot;레프트&amp;quot;);&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}&lt;br /&gt;
 		/*else if(leftSum/index == rightSum/(_processor.length-index) &lt;br /&gt;
 			&amp;amp;amp;&amp;amp;amp; _processor[index] &amp;amp;gt; leftSum/index ) {&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}*/&lt;br /&gt;
 		else {&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	public boolean checkRight(int index) {&lt;br /&gt;
 		int average = getSumOfJob() / _processor.length;&lt;br /&gt;
 		int remian = getSumOfJob() % _processor.length;&lt;br /&gt;
 		int leftSum = 0;&lt;br /&gt;
 		int rightSum = 0;&lt;br /&gt;
 		int partialLength = (index==0)? 1:index;&lt;br /&gt;
 		&lt;br /&gt;
 		if( index==_processor.length-1 ) {&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		// 왼쪽 평균&amp;amp;gt;오른쪽 평균&lt;br /&gt;
 		for(int i=0; i&amp;amp;lt;=index; i++) {&lt;br /&gt;
 			leftSum+=_processor[i];&lt;br /&gt;
 		}&lt;br /&gt;
 		if(index==0)&lt;br /&gt;
 			leftSum = _processor[0];&lt;br /&gt;
 		rightSum = getSumOfJob() - leftSum;&lt;br /&gt;
 		&lt;br /&gt;
 		/*if( average != 0 ) {&lt;br /&gt;
 			System.out.println(&amp;quot;인덱스 : &amp;quot; + index );&lt;br /&gt;
 			System.out.println(&amp;quot;평균 : &amp;quot; + _processor[index] + &amp;quot;왼쪽나머지:&amp;quot; + (leftSum%average)&lt;br /&gt;
 							+ &amp;quot;오른쪽 나머지 : &amp;quot; + (rightSum%average) );&lt;br /&gt;
 		}*/&lt;br /&gt;
 		if( average==0 ) {&lt;br /&gt;
 			if( rightSum&amp;amp;lt; (_processor.length-index-1) )&lt;br /&gt;
 				return true;&lt;br /&gt;
 			else&lt;br /&gt;
 				return false;&lt;br /&gt;
 		}&lt;br /&gt;
 		else if( leftSum/(index+1) &amp;amp;gt; rightSum/(_processor.length-index-1)  ){ &lt;br /&gt;
 			return true;&lt;br /&gt;
 		}&lt;br /&gt;
 		else if( leftSum/(index+1) == rightSum/(_processor.length-index-1 ) &lt;br /&gt;
 			&amp;amp;amp;&amp;amp;amp; _processor[index] &amp;amp;gt; rightSum/(_processor.length-index-1) ) {&lt;br /&gt;
 			System.out.println(&amp;quot;라이트&amp;quot;);&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}&lt;br /&gt;
 		else {&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	public void printInfo() {&lt;br /&gt;
 		System.out.println();&lt;br /&gt;
 		System.out.println(&amp;quot;옮긴 횟수: &amp;quot; + getMovedJob() );&lt;br /&gt;
 		for(int i=0; i&amp;amp;lt;_processor.length; i++) {&lt;br /&gt;
 			System.out.print(_processor[i] + &amp;quot;  &amp;quot; );&lt;br /&gt;
 		}&lt;br /&gt;
 		System.out.println();&lt;br /&gt;
 	}&lt;br /&gt;
 	public int getMovedJob() {&lt;br /&gt;
 		return _movedJob;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
   &lt;br /&gt;
----&lt;br /&gt;
LoadBalancingProblem&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>