Skip to content

Commit c1cfd01

Browse files
authored
Merge pull request #2205 from rivkode/main
[rivkode] WEEK 06 solutions
2 parents b12b4e1 + cc39868 commit c1cfd01

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
1. ๋ฌธ์ œ ์ดํ•ด
3+
(){}[] ๋ฌธ์ž๊ฐ€ ๋“ค์–ด์˜ฌ๋•Œ ์ˆœ์„œ๋Œ€๋กœ ๋“ค์–ด์˜ค๋Š”๊ฐ€ ?
4+
์—ฌ๊ธฐ์„œ ์ˆœ์„œ๋ž€ ([)] ์™€ ๊ฐ™์ด ์„ž์—ฌ ์žˆ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ([{}])์™€ ๊ฐ™์ด ๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋“ค์–ด์˜จ๊ฒƒ์ด ๋งž๋Š”์ง€๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ
5+
6+
2. ์•Œ๊ณ ๋ฆฌ์ฆ˜
7+
์Šคํƒ์„ ์‚ฌ์šฉํ•œ๋‹ค
8+
์ด์œ ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ• ๋•Œ ๋งˆ์ง€๋ง‰ ์ž…๋ ฅ๊ณผ ๋‹ค์Œ ๊ฒƒ์„ ๋น„๊ตํ•ด์•ผํ•˜๋Š”๋ฐ
9+
๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์ž…๋ ฅ๋œ ๊ฒƒ๊ณผ ๋“ค์–ด์˜ฌ ๊ฒƒ์„ ์„œ๋กœ ๋น„๊ตํ•˜๊ธฐ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
10+
11+
3. ์˜ˆ์™ธ
12+
1๊ฐœ๋งŒ ์š”์†Œ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ?
13+
14+
4. ๊ตฌํ˜„
15+
16+
๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด hash map ์„ ์ƒ์„ฑํ•œ๋‹ค
17+
์Šคํƒ์„ ๋‘๊ณ  ์ฒซ๋ฒˆ์งธ ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค
18+
๊ทธ ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ๋น„๊ตํ•˜๋ฉฐ ๋™์ผํ•  ๊ฒฝ์šฐ ๋‹ค์Œ ๊ฐ’๊ณผ ๋งˆ์ง€๋ง‰์— ์žˆ๋˜ ๊ฐ’์„ ์ œ๊ฑฐํ•œ๋‹ค.
19+
20+
21+
*/
22+
import java.util.*;
23+
24+
class Solution {
25+
public boolean isValid(String s) {
26+
Map<Character, Character> parens = new HashMap<>();
27+
parens.put('(', ')');
28+
parens.put('{', '}');
29+
parens.put('[', ']');
30+
Stack<Character> stack = new Stack<>();
31+
32+
for (int i=0; i<s.length(); i++) {
33+
char cur = s.charAt(i);
34+
35+
if (parens.containsKey(cur)) {
36+
stack.push(cur);
37+
} else {
38+
if (stack.isEmpty() || cur != parens.get(stack.pop())) {
39+
return false;
40+
}
41+
}
42+
}
43+
44+
if (s.length() == 1 || !stack.isEmpty()) {
45+
return false;
46+
}
47+
48+
return true;
49+
}
50+
}
51+

0 commit comments

Comments
ย (0)