<?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%EA%B0%95%ED%9D%AC%EA%B2%BD</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%EA%B0%95%ED%9D%AC%EA%B2%BD"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=JollyJumpers/%EA%B0%95%ED%9D%AC%EA%B2%BD&amp;action=history"/>
	<updated>2026-05-15T11:32:48Z</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/%EA%B0%95%ED%9D%AC%EA%B2%BD&amp;diff=33301&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/%EA%B0%95%ED%9D%AC%EA%B2%BD&amp;diff=33301&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:34Z</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; #include&amp;amp;lt;iostream&amp;amp;gt;     &lt;br /&gt;
 using namespace std;    &lt;br /&gt;
     &lt;br /&gt;
 int* InputList();    &lt;br /&gt;
 bool Judge(int* aList);    &lt;br /&gt;
 void OutputJudgement(bool aIsIt);    &lt;br /&gt;
 int GetSumOfGoalGap(int aN);    &lt;br /&gt;
  &lt;br /&gt;
 bool isCorrectInput; &lt;br /&gt;
     &lt;br /&gt;
 void main()    &lt;br /&gt;
 { &lt;br /&gt;
     isCorrectInput = true; &lt;br /&gt;
     OutputJudgement(Judge(InputList()));    &lt;br /&gt;
 }    &lt;br /&gt;
     &lt;br /&gt;
 int* InputList(){    &lt;br /&gt;
     bool isInputStart = false; &lt;br /&gt;
     int numberOfInputFactor; &lt;br /&gt;
     int* inputedList; &lt;br /&gt;
     do{ &lt;br /&gt;
         if(!isInputStart){ &lt;br /&gt;
             if(cin &amp;amp;gt;&amp;amp;gt; numberOfInputFactor){ &lt;br /&gt;
                inputedList = new int[numberOfInputFactor+1]; &lt;br /&gt;
                inputedList[0] = numberOfInputFactor; &lt;br /&gt;
                isInputStart = true; &lt;br /&gt;
                 if(numberOfInputFactor &amp;amp;lt; 2){ &lt;br /&gt;
                     isCorrectInput = false; &lt;br /&gt;
                     numberOfInputFactor = 0; &lt;br /&gt;
                 } &lt;br /&gt;
            } &lt;br /&gt;
             else{ &lt;br /&gt;
                isCorrectInput = false; &lt;br /&gt;
                numberOfInputFactor = 0; &lt;br /&gt;
            } &lt;br /&gt;
         } &lt;br /&gt;
         else{ &lt;br /&gt;
             if(!(cin &amp;amp;gt;&amp;amp;gt; inputedList[inputedList[0] - numberOfInputFactor])){ &lt;br /&gt;
                isCorrectInput = false; &lt;br /&gt;
                numberOfInputFactor = 0; &lt;br /&gt;
            } &lt;br /&gt;
         } &lt;br /&gt;
         numberOfInputFactor--; &lt;br /&gt;
     }while(numberOfInputFactor &amp;amp;gt;= 0); &lt;br /&gt;
     char temp; &lt;br /&gt;
     cin.get(temp); &lt;br /&gt;
     if(temp != &amp;#039;\n&amp;#039;) &lt;br /&gt;
         isCorrectInput = false; &lt;br /&gt;
     return inputedList; &lt;br /&gt;
 }    &lt;br /&gt;
     &lt;br /&gt;
 bool Judge(int* aList)   &lt;br /&gt;
 {    &lt;br /&gt;
     if(!isCorrectInput) &lt;br /&gt;
         return false; &lt;br /&gt;
     int gap;    &lt;br /&gt;
     bool* binaryMap = new bool[aList[0]-1];    &lt;br /&gt;
     for(int i = 0; i &amp;amp;lt; aList[0]-1; i++)    &lt;br /&gt;
         binaryMap[i] = false;    &lt;br /&gt;
     for(i = 1; i &amp;amp;lt; aList[0]; i++){    &lt;br /&gt;
         gap = abs(aList[i] - aList[i+1]); &lt;br /&gt;
         if(gap &amp;amp;gt;= aList[0] || gap == 0 || binaryMap[gap-1]){ &lt;br /&gt;
             delete aList; &lt;br /&gt;
             delete binaryMap; &lt;br /&gt;
             return false; &lt;br /&gt;
         } &lt;br /&gt;
         else      &lt;br /&gt;
             binaryMap[gap-1] = true;       &lt;br /&gt;
     } &lt;br /&gt;
     delete aList; &lt;br /&gt;
     delete binaryMap;        &lt;br /&gt;
     return true;    &lt;br /&gt;
 }    &lt;br /&gt;
     &lt;br /&gt;
 void OutputJudgement(bool aIsIt)   &lt;br /&gt;
 {    &lt;br /&gt;
     if(aIsIt)    &lt;br /&gt;
         cout &amp;amp;lt;&amp;amp;lt; &amp;quot;JollyJumpers\n&amp;quot;;    &lt;br /&gt;
     else    &lt;br /&gt;
         cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Nothing\n&amp;quot;; &lt;br /&gt;
 }    &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
== 생각 ==&lt;br /&gt;
성능(performance)을 최적화하기 위해 여러가지 생각을 해보았음.&lt;br /&gt;
졸리점퍼임을 확인하는 2가지 조건&lt;br /&gt;
# gap들의 각기 다른 크기여야한다.(ex)2가 두번 나오면 안된다.)&lt;br /&gt;
 *binaryMap이라는 bool형 리스트를 사용하여 gap의 중복을 검사 &lt;br /&gt;
# 각각의 gap은 0보다 크고 n보다 작아야한다.&lt;br /&gt;
시간 복잡도: Ο(n)&lt;br /&gt;
&lt;br /&gt;
== 고칠점 ==&lt;br /&gt;
2 2 3 4의 입력을 받는 경우 2 2 3만 인식하여 졸리점퍼라고 판단하게 된다. 현재는 고칠 생각없음&lt;br /&gt;
 그럼 2 2 3 10에서도 JollyJumper라고 인식하는 건가?? 그럼 완전 잘못된 거 아냐?? --재동&lt;br /&gt;
  일단 해결!! 예외처리 덕분에 코드에서 냄새가 남...리팩토링 해야겠음--[[강희경]]&lt;br /&gt;
----&lt;br /&gt;
[[AOI]] [[JollyJumpers]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>