<?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=JollyJumpers%2F%ED%99%A9%EC%9E%AC%EC%84%A0</id>
	<title>JollyJumpers/황재선 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=JollyJumpers%2F%ED%99%A9%EC%9E%AC%EC%84%A0"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;action=history"/>
	<updated>2026-05-14T20:14:32Z</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=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;diff=87485&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=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;diff=87485&amp;oldid=prev"/>
		<updated>2026-03-29T00:34:23Z</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-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&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;=== JollyJumpers.java ===&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;JollyJumpers&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;.java ===&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;  import java.io.BufferedReader;&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;  import java.io.BufferedReader;&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;  import java.io.IOException;&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;  import java.io.IOException;&lt;/div&gt;&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-l108&quot;&gt;Line 108:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 108:&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;br/&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;br/&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;=== JollyJumpers.java ===&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;JollyJumpers&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;.java ===&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;  import java.io.BufferedReader;&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;  import java.io.BufferedReader;&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;  import java.io.IOException;&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;  import java.io.IOException;&lt;/div&gt;&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-l271&quot;&gt;Line 271:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 271:&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;br/&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;br/&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;JollyJumpers&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;JollyJumpers&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=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;diff=84549&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=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;diff=84549&amp;oldid=prev"/>
		<updated>2026-03-27T00:16:06Z</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=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;amp;diff=84549&amp;amp;oldid=33338&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;diff=33338&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=JollyJumpers/%ED%99%A9%EC%9E%AC%EC%84%A0&amp;diff=33338&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:35Z</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;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== 모든 수를 수열로 생각 ==&lt;br /&gt;
=== JollyJumpers.java ===&lt;br /&gt;
 import java.io.BufferedReader;&lt;br /&gt;
 import java.io.IOException;&lt;br /&gt;
 import java.io.InputStreamReader;&lt;br /&gt;
 import java.util.Vector;&lt;br /&gt;
 &lt;br /&gt;
 /*&lt;br /&gt;
  * Created on 2005. 1. 4&lt;br /&gt;
  *&lt;br /&gt;
  * TODO To change the template for this generated file go to&lt;br /&gt;
  * Window - Preferences - Java - Code Style - Code Templates&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 public class JollyJumpers {&lt;br /&gt;
 	int [] nums;&lt;br /&gt;
 	&lt;br /&gt;
 	public int [] inputNumbers() {&lt;br /&gt;
 		String message = processKeyInput();&lt;br /&gt;
 		String [] ch = splitMessage(message);&lt;br /&gt;
 		return toInt(ch);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private String[] splitMessage(String message) {&lt;br /&gt;
 		return message.split(&amp;quot; &amp;quot;);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private int[] toInt(String [] ch) {&lt;br /&gt;
 		int len = ch.length;&lt;br /&gt;
 		nums = new int[len]; &lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; len; i++) {&lt;br /&gt;
 			nums[i] = Integer.parseInt(ch[i]);&lt;br /&gt;
 		}&lt;br /&gt;
 		return nums;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private String processKeyInput() {&lt;br /&gt;
 		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;
 		String message = &amp;quot;&amp;quot;;&lt;br /&gt;
 		try {&lt;br /&gt;
 			message = in.readLine();&lt;br /&gt;
 		} catch (IOException e) {&lt;br /&gt;
 			e.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 		return message;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public int[] getdifferenceValue() {&lt;br /&gt;
 		int len = nums.length - 1;&lt;br /&gt;
 		int [] differValue = new int[len];&lt;br /&gt;
 		&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; len; i++) {&lt;br /&gt;
 			differValue[i] = Math.abs(nums[i+1] - nums[i]);&lt;br /&gt;
 		}&lt;br /&gt;
 		nums = sort(differValue);&lt;br /&gt;
 		return nums;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private int[] sort(int[] aNum) {&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; aNum.length; i++)&lt;br /&gt;
 			for(int j = 0; j &amp;amp;lt; aNum.length; j++)&lt;br /&gt;
 				if (aNum[i] &amp;amp;lt; aNum[j])&lt;br /&gt;
 					aNum = swap(aNum, i, j);&lt;br /&gt;
 		return aNum;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private int[] swap(int [] aNum, int i, int j) {&lt;br /&gt;
 		int temp = aNum[i];&lt;br /&gt;
 		aNum[i] = aNum[j];&lt;br /&gt;
 		aNum[j] = temp;&lt;br /&gt;
 		&lt;br /&gt;
 		return aNum;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public boolean isJolly() {&lt;br /&gt;
 		int len = nums.length;&lt;br /&gt;
 		for(int i = 1; i &amp;amp;lt; len; i++)&lt;br /&gt;
 			if (i != nums[i-1])&lt;br /&gt;
 				return false;&lt;br /&gt;
 			&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private void printResult(Vector v) {&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; v.size(); i++) {&lt;br /&gt;
 			System.out.println(v.get(i));&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	static public void main(String [] args) {&lt;br /&gt;
 		Vector v = new Vector();&lt;br /&gt;
 		while(true) {&lt;br /&gt;
 			JollyJumpers j = new JollyJumpers();&lt;br /&gt;
 			j.inputNumbers();&lt;br /&gt;
 			if (j.nums[0] == 0) {&lt;br /&gt;
 				j.printResult(v);&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 			j.getdifferenceValue();&lt;br /&gt;
 			if (j.isJolly()) 	v.add(&amp;quot;Jolly&amp;quot;);&lt;br /&gt;
 			else 				v.add(&amp;quot;Not jolly&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 첫번째 수는 수열의 개수 ==&lt;br /&gt;
=== JollyJumpers.java ===&lt;br /&gt;
 import java.io.BufferedReader;&lt;br /&gt;
 import java.io.IOException;&lt;br /&gt;
 import java.io.InputStreamReader;&lt;br /&gt;
 import java.util.ArrayList;&lt;br /&gt;
 import java.util.Iterator;&lt;br /&gt;
 import java.util.TreeSet;&lt;br /&gt;
 &lt;br /&gt;
 /*&lt;br /&gt;
  * Created on 2005. 1. 6.&lt;br /&gt;
  *&lt;br /&gt;
  * TODO To change the template for this generated file go to&lt;br /&gt;
  * Window - Preferences - Java - Code Style - Code Templates&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 public class JollyJumpers {&lt;br /&gt;
 	int size;&lt;br /&gt;
 	int [] numbers;&lt;br /&gt;
 	&lt;br /&gt;
 	public String inputNum() {&lt;br /&gt;
 		String line = &amp;quot;&amp;quot;;&lt;br /&gt;
 		try {&lt;br /&gt;
 			BufferedReader in = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;
 			line = in.readLine();&lt;br /&gt;
 		} catch (IOException e) {&lt;br /&gt;
 			e.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 		return line;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int [] stringToInt(String line) {&lt;br /&gt;
 		String [] ch = line.split(&amp;quot; &amp;quot;);&lt;br /&gt;
 		&lt;br /&gt;
 		int len = ch.length - 1;&lt;br /&gt;
 		numbers = new int[len];&lt;br /&gt;
 		size = Integer.parseInt(ch[0]);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; len; i++) {&lt;br /&gt;
 			numbers[i] = Integer.parseInt(ch[i+1]);&lt;br /&gt;
 		}&lt;br /&gt;
 		return numbers;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public boolean isRightInput() {&lt;br /&gt;
 		return size == numbers.length ? true : false;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public TreeSet computeGaps() {&lt;br /&gt;
 		TreeSet set = new TreeSet();&lt;br /&gt;
 		&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; numbers.length - 1; i++) {&lt;br /&gt;
 			set.add(new Integer(Math.abs(numbers[i] - numbers[i+1])));&lt;br /&gt;
 		}&lt;br /&gt;
 		return set;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public boolean isJolly(TreeSet set) {&lt;br /&gt;
 		int numOfSeries = size - 1;&lt;br /&gt;
 		if (set.size() != numOfSeries) {&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}&lt;br /&gt;
 		Iterator i = set.iterator();&lt;br /&gt;
 		int series = 1;&lt;br /&gt;
 		&lt;br /&gt;
 		while (i.hasNext()) {&lt;br /&gt;
 			Integer num = (Integer) i.next();&lt;br /&gt;
 			if (num.intValue() != series) {&lt;br /&gt;
 				return false;&lt;br /&gt;
 			}&lt;br /&gt;
 			series++;&lt;br /&gt;
 		}&lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void printResult(ArrayList list) {&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; list.size(); i++) {&lt;br /&gt;
 			System.out.println((String) list.get(i));&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public boolean isException() {&lt;br /&gt;
 		if (size &amp;amp;gt; 3000) {&lt;br /&gt;
 			System.out.println(&amp;quot;3000 초과. 다시 입력하세요&amp;quot;);&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}&lt;br /&gt;
 		if (!isRightInput()) {&lt;br /&gt;
 			System.out.println(&amp;quot;수열의 개수가&amp;quot; + size + &amp;quot;과 다릅니다. 다시 입력하세요&amp;quot;);&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}&lt;br /&gt;
 		return false;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public static void main(String [] args) {&lt;br /&gt;
 		ArrayList list = new ArrayList();&lt;br /&gt;
 		&lt;br /&gt;
 		while(true) {&lt;br /&gt;
 			JollyJumpers j = new JollyJumpers();&lt;br /&gt;
 			String line = j.inputNum();&lt;br /&gt;
 			j.stringToInt(line);&lt;br /&gt;
 			if (j.size == 0) {&lt;br /&gt;
 				j.printResult(list);&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 			if (j.isException())&lt;br /&gt;
 				continue;&lt;br /&gt;
 			TreeSet set = j.computeGaps();&lt;br /&gt;
 			if (j.isJolly(set))&lt;br /&gt;
 				list.add(&amp;quot;Jolly&amp;quot;);&lt;br /&gt;
 			else&lt;br /&gt;
 				list.add(&amp;quot;Not jolly&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
=== TestJollyJumpers.java ===&lt;br /&gt;
 import junit.framework.TestCase;&lt;br /&gt;
 /*&lt;br /&gt;
  * Created on 2005. 1. 6.&lt;br /&gt;
  *&lt;br /&gt;
  * TODO To change the template for this generated file go to&lt;br /&gt;
  * Window - Preferences - Java - Code Style - Code Templates&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 public class TestJollyJumpers extends TestCase {&lt;br /&gt;
 	JollyJumpers j;	&lt;br /&gt;
 	String line;&lt;br /&gt;
 	&lt;br /&gt;
 	public void setUp() {&lt;br /&gt;
 		j = new JollyJumpers();&lt;br /&gt;
 		line = &amp;quot;5 1 4 2 -1 6&amp;quot;;&lt;br /&gt;
 		j.numbers = new int[]{1,4,2,-1,6};&lt;br /&gt;
 		j.size = 5;&lt;br /&gt;
 	}&lt;br /&gt;
 	public void testInputNum() {&lt;br /&gt;
 		j = new JollyJumpers();&lt;br /&gt;
 		assertEquals(&amp;quot;5 1 4 2 -1 6&amp;quot;, line);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void testStringToInt() {&lt;br /&gt;
 		int [] num = {1,4,2,-1,6};&lt;br /&gt;
 		assertEquals(num[0], j.stringToInt(line)[0]);&lt;br /&gt;
 		assertEquals(num[1], j.stringToInt(line)[1]);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void testIsRightInput() {&lt;br /&gt;
 		assertEquals(5, j.numbers.length);&lt;br /&gt;
 		assertEquals(true, j.isRightInput());&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 &lt;br /&gt;
 	public void testIsJolly() {&lt;br /&gt;
 		assertEquals(false, j.isJolly(j.computeGaps()));&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 쓰레드 ==&lt;br /&gt;
# &lt;br /&gt;
 ~cpp TreeSet&lt;br /&gt;
을 사용했다. sort에 log(n)이 소요된다.&lt;br /&gt;
# main이 지저분하다. 함수로 추출하기도 뭐하다.&lt;br /&gt;
# test코드를 다듬었다. 테스트할때마다 콘솔로 입력받는 게 귀찮아서 test클래스에서 메인 클래스의 field를 정의하고 진행했다. 또 다른 테스트를 하기위해서 고쳐야할 부분이 흩어져 있다. 테스트코드의 설계에 관심을 가져야겠다.&lt;br /&gt;
-- 재선&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
JollyJumpers&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>