Skip to content

Commit 93deaff

Browse files
피드백 반영
1 parent 012e60c commit 93deaff

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

encode-and-decode-strings/jaejeong1.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import java.util.List;
33

44
class SolutionEncodeAndDecodeStrings {
5+
56
private static final char SEPERATOR = '/';
67
/*
78
* @param strs: a list of strings
@@ -14,9 +15,9 @@ public String encode(List<String> strs) {
1415
var answer = new StringBuilder();
1516

1617
for (var str : strs) {
17-
answer.append(str.length())
18-
.append(str)
19-
.append(SEPERATOR);
18+
answer.append(SEPERATOR)
19+
.append(str.length())
20+
.append(str);
2021
}
2122

2223
return answer.toString();
@@ -31,16 +32,12 @@ public String encode(List<String> strs) {
3132
public List<String> decode(String str) {
3233
// write your code here
3334
List<String> answer = new ArrayList<>();
34-
var charArray = str.toCharArray();
35-
for (int i=0; i<charArray.length; i++) {
36-
if (charArray[i] == SEPERATOR) {
37-
var size = (int) charArray[i-1];
38-
char[] word = new char[size];
39-
System.arraycopy(charArray, i + 1, word, 0, size);
40-
41-
i+=size;
42-
answer.add(String.valueOf(word));
43-
}
35+
var i = 0;
36+
while (i < str.length()) {
37+
var seperatorIdx = str.indexOf(SEPERATOR, i) + 1;
38+
var size = Integer.parseInt(str.substring(seperatorIdx, seperatorIdx + 1));
39+
i = seperatorIdx + size + 1;
40+
answer.add(str.substring(seperatorIdx + 1, i));
4441
}
4542

4643
return answer;

0 commit comments

Comments
 (0)