<?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=ShellSort%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD</id>
	<title>ShellSort/문보창 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ShellSort%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ShellSort/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;action=history"/>
	<updated>2026-05-14T09:55:55Z</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=ShellSort/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=39167&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ShellSort/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=39167&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:01Z</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;==== 소감 ====&lt;br /&gt;
2005/02/28 Accepted(P.E.) 0:01.660 472 &lt;br /&gt;
첨에 문제 파악을 잘못해서 중간에 코드를 뜯어고치느라 시간을 많이 허비했다. 귀찮아서 구상을 하지않고, 바로 코딩을 하다보니 발생한 사태였다. 수행시간이 다른사람에 비해 턱없이 길다. 나중에 보다 효율적인 접근방법을 찾아보겠다.&lt;br /&gt;
&lt;br /&gt;
==== 코드 ====&lt;br /&gt;
 // no10152 - Shell Sort&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;cstring&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 const int MAX_NAME = 81;&lt;br /&gt;
 const int MAX_TURTLE = 200;&lt;br /&gt;
 &lt;br /&gt;
 void input_turtle(char turt[][MAX_NAME], const int &amp;amp;amp; nTurt);&lt;br /&gt;
 void move_turtle(const int * code, const int &amp;amp;amp; nTurt, bool * isMove);&lt;br /&gt;
 void incoding(const char oldTurt[][MAX_NAME], const char newTurt[][MAX_NAME], const int &amp;amp;amp; nTurt, int * code);&lt;br /&gt;
 void print_turtle(const char turt[][MAX_NAME], const int * code, const bool * isMove, const int &amp;amp;amp; nTurt);&lt;br /&gt;
 inline void show_turtle(const char turt[]) { cout &amp;amp;lt;&amp;amp;lt; turt &amp;amp;lt;&amp;amp;lt; endl; };&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	char oldTurt[MAX_TURTLE][MAX_NAME], newTurt[MAX_TURTLE][MAX_NAME];&lt;br /&gt;
 	int incode[MAX_TURTLE];&lt;br /&gt;
 	int nCase, nTurt;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; nCase;&lt;br /&gt;
 	int i;&lt;br /&gt;
 	for (i=0; i&amp;amp;lt;nCase; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; nTurt;&lt;br /&gt;
 		cin.get();&lt;br /&gt;
 		input_turtle(oldTurt, nTurt);&lt;br /&gt;
 		input_turtle(newTurt, nTurt);&lt;br /&gt;
 		incoding(oldTurt, newTurt, nTurt, incode);&lt;br /&gt;
 		bool isMove[MAX_TURTLE] = {0,};&lt;br /&gt;
 		move_turtle(incode, nTurt, isMove);&lt;br /&gt;
 		print_turtle(newTurt, incode, isMove, nTurt);&lt;br /&gt;
 		if (i != nCase-1)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void input_turtle(char turt[][MAX_NAME], const int &amp;amp;amp; nTurt)&lt;br /&gt;
 {&lt;br /&gt;
 	int i;&lt;br /&gt;
 	for (i=0; i&amp;amp;lt;nTurt; i++)&lt;br /&gt;
 		cin.getline(turt[i], MAX_NAME, &amp;#039;\n&amp;#039;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void incoding(const char oldTurt[][MAX_NAME], const char newTurt[][MAX_NAME], const int &amp;amp;amp; nTurt, int * code)&lt;br /&gt;
 {&lt;br /&gt;
 	int i, j;&lt;br /&gt;
 	for (i=0; i&amp;amp;lt;nTurt; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (j=0; j&amp;amp;lt;nTurt; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (strcmp(newTurt[i], oldTurt[j]) == 0)&lt;br /&gt;
 			{&lt;br /&gt;
 				code[j] = i;&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void move_turtle(const int * code, const int &amp;amp;amp; nTurt, bool * isMove)&lt;br /&gt;
 {&lt;br /&gt;
 	int i;&lt;br /&gt;
 	int count = nTurt-1;&lt;br /&gt;
 	if (code[count] != count)&lt;br /&gt;
 		isMove[count] = true;&lt;br /&gt;
 	else&lt;br /&gt;
 		count--;&lt;br /&gt;
 	for (i=nTurt-2; i&amp;amp;gt;=0; i--)&lt;br /&gt;
 	{&lt;br /&gt;
 		if (code[i] != count)&lt;br /&gt;
 			isMove[i] = true;&lt;br /&gt;
 		else&lt;br /&gt;
 			count--;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void print_turtle(const char turt[][MAX_NAME], const int * code, const bool * isMove, const int &amp;amp;amp; nTurt)&lt;br /&gt;
 {&lt;br /&gt;
 	int i, j;&lt;br /&gt;
 	for (i=nTurt-1; i&amp;amp;gt;=0; i--)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (j=0; j&amp;amp;lt;nTurt; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (isMove[j] &amp;amp;amp;&amp;amp;amp; code[j] == i)&lt;br /&gt;
 			{&lt;br /&gt;
 				show_turtle(turt[code[j]]);&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[ShellSort]] [[문보창]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>