Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ebc23b4

Browse filesBrowse files
committed
Add basic Algorithm
1 parent 2829136 commit ebc23b4
Copy full SHA for ebc23b4

5 files changed

+56-8Lines changed: 56 additions & 8 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎…gorithm/CharacterCompressWithLength.java‎ ‎…m/basic/CharacterCompressWithLength.java‎src/test/java/algorithm/CharacterCompressWithLength.java renamed to src/test/java/algorithm/basic/CharacterCompressWithLength.java src/test/java/algorithm/CharacterCompressWithLength.java renamed to src/test/java/algorithm/basic/CharacterCompressWithLength.java

Copy file name to clipboardExpand all lines: src/test/java/algorithm/basic/CharacterCompressWithLength.java
+4-5Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package algorithm.basic;
22

33
import org.junit.Test;
44

@@ -30,11 +30,10 @@ private String RunLengthCompress_USE_HASHMAP(String str) {
3030
Map<Character, Integer> charCounter = new HashMap<>(str.length());
3131

3232
for (char c : str.toCharArray()) {
33-
if (charCounter.containsKey(c)) {
34-
charCounter.put(c, charCounter.get(c) + 1);
35-
} else {
36-
charCounter.put(c, 1);
33+
if (!charCounter.containsKey(c)) {
34+
charCounter.put(c, 0);
3735
}
36+
charCounter.put(c, charCounter.get(c) + 1);
3837
}
3938
StringBuilder sb = new StringBuilder();
4039
charCounter.forEach((chr, count) -> sb.append(chr + count.toString()));
Collapse file
+49Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package algorithm.basic;
2+
3+
import org.junit.Test;
4+
5+
import java.util.Arrays;
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
9+
import static org.hamcrest.CoreMatchers.is;
10+
import static org.junit.Assert.assertThat;
11+
12+
13+
public class FrequencyStringInDocument {
14+
15+
/*
16+
TASK
17+
주어진 문서(단어별로 나뉘어진 배열)에서 특정 단어의 빈도를 구한다.
18+
*/
19+
20+
@Test
21+
public void test() {
22+
String[] strArr = new String[100];
23+
assertThat(0, is(countStringInDocs(strArr, null)));
24+
strArr[0] = "jbee";
25+
assertThat(1, is(countStringInDocs(strArr, "jbee")));
26+
strArr[1] = "jbee";
27+
assertThat(2, is(countStringInDocs(strArr, "jbee")));
28+
strArr[2] = "jbee";
29+
assertThat(3, is(countStringInDocs(strArr, "jbee")));
30+
}
31+
32+
private int countStringInDocs(String[] strArr, String target) {
33+
if (strArr == null || target == null) return 0;
34+
35+
Map<String, Integer> countString = new HashMap<>();
36+
Arrays.stream(strArr).forEach(str -> {
37+
if (!countString.containsKey(str)) {
38+
countString.put(str, 0);
39+
}
40+
countString.put(str, countString.get(str) + 1);
41+
});
42+
43+
if (countString.get(target) == null) {
44+
return 0;
45+
}
46+
47+
return countString.get(target);
48+
}
49+
}
Collapse file

‎src/test/java/algorithm/IsAnagram.java‎ ‎…test/java/algorithm/basic/IsAnagram.java‎src/test/java/algorithm/IsAnagram.java renamed to src/test/java/algorithm/basic/IsAnagram.java src/test/java/algorithm/IsAnagram.java renamed to src/test/java/algorithm/basic/IsAnagram.java

Copy file name to clipboardExpand all lines: src/test/java/algorithm/basic/IsAnagram.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package algorithm.basic;
22

33
import org.junit.Test;
44

Collapse file

‎…est/java/algorithm/StringParseToInt.java‎ ‎…va/algorithm/basic/StringParseToInt.java‎src/test/java/algorithm/StringParseToInt.java renamed to src/test/java/algorithm/basic/StringParseToInt.java src/test/java/algorithm/StringParseToInt.java renamed to src/test/java/algorithm/basic/StringParseToInt.java

Copy file name to clipboardExpand all lines: src/test/java/algorithm/basic/StringParseToInt.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package algorithm.basic;
22

33
import org.junit.Test;
44

Collapse file

‎…a/algorithm/UniqueCharacterInString.java‎ ‎…rithm/basic/UniqueCharacterInString.java‎src/test/java/algorithm/UniqueCharacterInString.java renamed to src/test/java/algorithm/basic/UniqueCharacterInString.java src/test/java/algorithm/UniqueCharacterInString.java renamed to src/test/java/algorithm/basic/UniqueCharacterInString.java

Copy file name to clipboardExpand all lines: src/test/java/algorithm/basic/UniqueCharacterInString.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package algorithm.basic;
22

33
import org.junit.Test;
44

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.