<?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=MedusaCppStudy%2F%EC%9E%AC%EB%8F%99</id>
	<title>MedusaCppStudy/재동 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=MedusaCppStudy%2F%EC%9E%AC%EB%8F%99"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=MedusaCppStudy/%EC%9E%AC%EB%8F%99&amp;action=history"/>
	<updated>2026-05-14T11:11:33Z</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=MedusaCppStudy/%EC%9E%AC%EB%8F%99&amp;diff=34634&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=MedusaCppStudy/%EC%9E%AC%EB%8F%99&amp;diff=34634&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:45Z</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;=== MedusaCppStudy 재동 ===&lt;br /&gt;
렌덤워크&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;ctime&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdexcept&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 const int DIRECTION_ROW[8] = {-1, -1, 0, 1, 1, 1, 0, -1};&lt;br /&gt;
 const int DIRECTION_COL[8] = {0, 1, 1, 1, 0, -1, -1, -1};&lt;br /&gt;
 &lt;br /&gt;
 struct sRoach&lt;br /&gt;
 {&lt;br /&gt;
 	int curRow;&lt;br /&gt;
 	int curCol;&lt;br /&gt;
 	int count;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 void showBoard(const vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board);&lt;br /&gt;
 bool isAllBoard(const vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board);&lt;br /&gt;
 void moveRoach(vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board, sRoach&amp;amp;amp; roach);&lt;br /&gt;
 void inputRoachPosition(sRoach&amp;amp;amp; roach, const vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board);&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	srand((unsigned)time(NULL));&lt;br /&gt;
          &lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt; &amp;quot;Enter board size(ex: row, col): &amp;quot;;&lt;br /&gt;
 	int rows, cols;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; rows &amp;amp;gt;&amp;amp;gt; cols;&lt;br /&gt;
 &lt;br /&gt;
 	vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt; board(rows);&lt;br /&gt;
 	for(int i = 0; i &amp;amp;lt; rows; i++)&lt;br /&gt;
 		board[i].resize(cols);&lt;br /&gt;
 	&lt;br /&gt;
 	sRoach roach;&lt;br /&gt;
 	roach.count = 0;&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		inputRoachPosition(roach, board);&lt;br /&gt;
 	}&lt;br /&gt;
 	catch(domain_error)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;You must correct roach position!&amp;quot; &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 		return 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	while(!isAllBoard(board))&lt;br /&gt;
 	{&lt;br /&gt;
 		moveRoach(board, roach);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	showBoard(board);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;count of roach: &amp;quot; &amp;amp;lt;&amp;amp;lt; roach.count &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 showBoard(const vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board)&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i = 0; i &amp;amp;lt; board.size(); i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j = 0; j &amp;amp;lt; board[i].size() ; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; board[i][j] &amp;amp;lt;&amp;amp;lt; &amp;quot;\t&amp;quot;;&lt;br /&gt;
 		}&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool isAllBoard(const vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board)&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i = 0; i &amp;amp;lt; board.size(); i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j = 0; j &amp;amp;lt; board[i].size() ; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(board[i][j] == 0)&lt;br /&gt;
 				return false;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void moveRoach(vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board, sRoach&amp;amp;amp; roach)&lt;br /&gt;
 {&lt;br /&gt;
 	int dir = rand() % 8;&lt;br /&gt;
 &lt;br /&gt;
 	roach.curRow += DIRECTION_ROW[dir];&lt;br /&gt;
 	roach.curCol += DIRECTION_COL[dir];&lt;br /&gt;
 	&lt;br /&gt;
 	if((roach.curRow &amp;amp;gt;= 0 &amp;amp;amp;&amp;amp;amp; roach.curRow &amp;amp;lt;= board.size() - 1) &lt;br /&gt;
 		&amp;amp;amp;&amp;amp;amp; (roach.curCol &amp;amp;gt;= 0 &amp;amp;amp;&amp;amp;amp; roach.curCol &amp;amp;lt;= board[0].size() - 1))&lt;br /&gt;
 	{&lt;br /&gt;
 		board[roach.curRow][roach.curCol]++;&lt;br /&gt;
 		roach.count++;&lt;br /&gt;
 	}&lt;br /&gt;
 	else&lt;br /&gt;
 	{&lt;br /&gt;
 		roach.curRow -= DIRECTION_ROW[dir];&lt;br /&gt;
 		roach.curCol -= DIRECTION_COL[dir];&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void inputRoachPosition(sRoach&amp;amp;amp; roach, const vector&amp;amp;lt; vector&amp;amp;lt;int&amp;amp;gt; &amp;amp;gt;&amp;amp;amp; board)&lt;br /&gt;
 {&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Enter roach initil position(ex: row, col): &amp;quot;;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; roach.curRow &amp;amp;gt;&amp;amp;gt; roach.curCol;&lt;br /&gt;
 &lt;br /&gt;
 	if((roach.curRow &amp;amp;lt; 0 || roach.curRow &amp;amp;gt; board.size())&lt;br /&gt;
 		|| (roach.curCol &amp;amp;lt; 0 || roach.curCol &amp;amp;gt; board[0].size()))&lt;br /&gt;
 		throw domain_error(&amp;quot;Roach position is worng&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
단어 빈도수&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 struct sWord&lt;br /&gt;
 {&lt;br /&gt;
 	string name;&lt;br /&gt;
 	int count;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 bool compare(const sWord&amp;amp;amp; x, const sWord &amp;amp;amp;y);&lt;br /&gt;
 void showResult(const vector&amp;amp;lt;sWord&amp;amp;gt;&amp;amp;amp; words);&lt;br /&gt;
 void checkInWords(vector&amp;amp;lt;sWord&amp;amp;gt;&amp;amp;amp; words, const string&amp;amp;amp; x);&lt;br /&gt;
 void reform(string&amp;amp;amp; x);&lt;br /&gt;
 void addInWords(vector&amp;amp;lt;sWord&amp;amp;gt;&amp;amp;amp; words, const string&amp;amp;amp; x);&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	vector&amp;amp;lt;sWord&amp;amp;gt; words;&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;&amp;amp;gt;&amp;amp;gt; &amp;quot;;&lt;br /&gt;
 	string x;&lt;br /&gt;
 	while(cin &amp;amp;gt;&amp;amp;gt; x)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(x == &amp;quot;;&amp;quot;)&lt;br /&gt;
 			break;&lt;br /&gt;
 &lt;br /&gt;
 		reform(x);&lt;br /&gt;
 		checkInWords(words, x);&lt;br /&gt;
 	}&lt;br /&gt;
 	sort(words.begin(), words.end(), compare);&lt;br /&gt;
 	showResult(words);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool compare(const sWord&amp;amp;amp; x, const sWord &amp;amp;amp;y)&lt;br /&gt;
 {&lt;br /&gt;
 	return x.name &amp;amp;lt; y.name;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void showResult(const vector&amp;amp;lt;sWord&amp;amp;gt;&amp;amp;amp; words)&lt;br /&gt;
 {&lt;br /&gt;
 	for(vector&amp;amp;lt;sWord&amp;amp;gt;::size_type i = 0; i &amp;amp;lt; words.size(); i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; words[i].name &amp;amp;lt;&amp;amp;lt; &amp;quot;\t&amp;quot; &amp;amp;lt;&amp;amp;lt; words[i].count &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;total words: &amp;quot; &amp;amp;lt;&amp;amp;lt; words.size() &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void checkInWords(vector&amp;amp;lt;sWord&amp;amp;gt;&amp;amp;amp; words, const string&amp;amp;amp; x)&lt;br /&gt;
 {&lt;br /&gt;
 	for(vector&amp;amp;lt;sWord&amp;amp;gt;::size_type i = 0; i &amp;amp;lt; words.size(); i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(words[i].name == x)&lt;br /&gt;
 		{&lt;br /&gt;
 			words[i].count++;&lt;br /&gt;
 			return;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	addInWords(words, x);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void reform(string&amp;amp;amp; x)&lt;br /&gt;
 {&lt;br /&gt;
 	for(string::size_type i = 0; i &amp;amp;lt; x.size(); i++)&lt;br /&gt;
 		strlwr(&amp;amp;amp;x[i]);&lt;br /&gt;
 &lt;br /&gt;
 	char lastChar = x[x.size() - 1];&lt;br /&gt;
 	if(lastChar == &amp;#039;.&amp;#039; || lastChar == &amp;#039;,&amp;#039;)&lt;br /&gt;
 		x.resize(x.size() - 1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void addInWords(vector&amp;amp;lt;sWord&amp;amp;gt;&amp;amp;amp; words, const string&amp;amp;amp; x)&lt;br /&gt;
 {&lt;br /&gt;
 	sWord newWord;&lt;br /&gt;
 	newWord.name = x;&lt;br /&gt;
 	newWord.count = 1;&lt;br /&gt;
 &lt;br /&gt;
 	words.push_back(newWord);&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[MedusaCppStudy]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>