<?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=CodeRace%2F20060105%2F%EB%AF%BC%EA%B2%BD%EC%84%A0%ED%98%B8%EC%9E%AC%EC%84%A0</id>
	<title>CodeRace/20060105/민경선호재선 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=CodeRace%2F20060105%2F%EB%AF%BC%EA%B2%BD%EC%84%A0%ED%98%B8%EC%9E%AC%EC%84%A0"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CodeRace/20060105/%EB%AF%BC%EA%B2%BD%EC%84%A0%ED%98%B8%EC%9E%AC%EC%84%A0&amp;action=history"/>
	<updated>2026-05-15T09:09:52Z</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=CodeRace/20060105/%EB%AF%BC%EA%B2%BD%EC%84%A0%ED%98%B8%EC%9E%AC%EC%84%A0&amp;diff=30464&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CodeRace/20060105/%EB%AF%BC%EA%B2%BD%EC%84%A0%ED%98%B8%EC%9E%AC%EC%84%A0&amp;diff=30464&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:55Z</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;
 import java.io.*;&lt;br /&gt;
 import java.util.*;&lt;br /&gt;
 &lt;br /&gt;
 public class Alice {&lt;br /&gt;
 	private BufferedReader br;&lt;br /&gt;
 	private Hashtable&amp;amp;lt;String, Integer&amp;amp;gt; map;&lt;br /&gt;
 	&lt;br /&gt;
 	public Alice() {&lt;br /&gt;
 		try {&lt;br /&gt;
 			br = new BufferedReader(new FileReader(&amp;quot;alice.txt&amp;quot;));&lt;br /&gt;
 		} catch (FileNotFoundException e) {&lt;br /&gt;
 			e.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		map = new Hashtable&amp;amp;lt;String, Integer&amp;amp;gt;();&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public String readLine() {&lt;br /&gt;
 		String line = null;&lt;br /&gt;
 		try {&lt;br /&gt;
 			line = br.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 void splitWord() {&lt;br /&gt;
 		String line = null;&lt;br /&gt;
 		while(true) {&lt;br /&gt;
 			line = readLine();&lt;br /&gt;
 			if(line == null)&lt;br /&gt;
 				break;&lt;br /&gt;
 			Scanner sc = new Scanner(line);&lt;br /&gt;
 			&lt;br /&gt;
 			while(sc.hasNext()) {&lt;br /&gt;
 				String word = sc.next();&lt;br /&gt;
 				word = word.replaceAll(&amp;quot;[\p{Punct}]&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
 				if (map.containsKey(word)) {&lt;br /&gt;
 					int n = map.get(word);&lt;br /&gt;
 					map.put(word, ++n);&lt;br /&gt;
 				}&lt;br /&gt;
 				else {&lt;br /&gt;
 					map.put(word, 1);&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public static void main(String[] args) {&lt;br /&gt;
 		Alice alice = new Alice();&lt;br /&gt;
 		alice.splitWord();&lt;br /&gt;
 		ArrayList&amp;amp;lt;Data&amp;amp;gt; list = alice.sort();&lt;br /&gt;
 		alice.print(list);&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private void print(ArrayList&amp;amp;lt;Data&amp;amp;gt; list) {&lt;br /&gt;
 		int size = list.size();&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; size; i++) {&lt;br /&gt;
 			String temp = list.get(i).getName();&lt;br /&gt;
 			int count = 0;&lt;br /&gt;
 			for(int j = 0; j &amp;amp;lt; temp.length(); ++j) {&lt;br /&gt;
 				count = count + temp.toCharArray()[j];&lt;br /&gt;
 			}&lt;br /&gt;
 			System.out.printf(&amp;quot;%-15s\t%d\t%d\n&amp;quot;, temp, list.get(i).getCount(), count);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private ArrayList&amp;amp;lt;Data&amp;amp;gt; sort() {&lt;br /&gt;
 		Set set = map.keySet();&lt;br /&gt;
 		Iterator it = set.iterator();&lt;br /&gt;
 		ArrayList&amp;amp;lt;Data&amp;amp;gt; list = new ArrayList&amp;amp;lt;Data&amp;amp;gt;();&lt;br /&gt;
 		while(it.hasNext()) {&lt;br /&gt;
 			String key2 = (String)it.next();&lt;br /&gt;
 			int count = map.get(key2);&lt;br /&gt;
 			&lt;br /&gt;
 			list.add(new Data(key2, count));&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		Collections.sort(list, new DataComparator());&lt;br /&gt;
 		return list;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	@Override&lt;br /&gt;
 	protected void finalize() throws Throwable {&lt;br /&gt;
 		br.close();&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 class Data {&lt;br /&gt;
 	private String name;&lt;br /&gt;
 	private int count;&lt;br /&gt;
 	&lt;br /&gt;
 	public Data(String name, int count) {&lt;br /&gt;
 		this.name = name;&lt;br /&gt;
 		this.count = count;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public String getName() {&lt;br /&gt;
 		return name;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public int getCount() {&lt;br /&gt;
 		return count;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 class DataComparator implements Comparator&amp;amp;lt;Data&amp;amp;gt; {&lt;br /&gt;
 	public int compare(Data data1, Data data2) {&lt;br /&gt;
 		return data1.getName().compareTo(data2.getName());&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[CodeRace/20060105]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>