Skip to content

Commit 4da4cd1

Browse files
author
jinvicky
committed
solution
1 parent 1f95483 commit 4da4cd1

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* ๊ตฌํ•˜๋ ค๋Š” ๊ฒƒ์€ ์ตœ๋Œ€ ์˜์—ญ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— x,y์ถ•์„ ๊ณ„์‚ฐํ•œ ํ˜„์žฌ ์˜์—ญ๊ณผ ๊ธฐ์กด ์˜์—ญ์„ ๋น„๊ตํ•ด max๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
3+
* ํฌ์ธํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ขํž๊นŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์‰ฝ๊ฒŒ ๋งํ•ด์„œ start์™€ end ์ค‘ ๋” ์ž‘์€ ์ชฝ์„ ์•ž ๋˜๋Š” ๋’ค๋กœ ์ด๋™ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
4+
* ์˜์—ญ์€ ๋‘ ๋ง‰๋Œ€๊ฐ€ ๋ชจ๋‘ ์ถฉ์กฑ๊ฐ€๋Šฅํ•œ ๊ธธ์ด๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ Math.min()์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
5+
*/
6+
class Solution {
7+
public int maxArea(int[] height) {
8+
int start = 0;
9+
int end = height.length - 1;
10+
int area = 0;
11+
12+
while (start < end) {
13+
int y = Math.min(height[start], height[end]); // y์ถ•์€ ๋” ์ž‘์€ ๊ฐ’์œผ๋กœ ์„ค์ •
14+
int x = Math.abs(start - end);
15+
int calculatedArea = x * y;
16+
area = Math.max(area, calculatedArea);
17+
18+
// [์ค‘์š”] ํฌ์ธํ„ฐ ์ด๋™ ๋กœ์ง
19+
if (height[start] <= height[end])
20+
start++;
21+
else
22+
end--;
23+
}
24+
return area;
25+
}
26+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import java.util.Stack;
2+
3+
class Solution {
4+
/**
5+
* ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด s์˜ ๊ด„ํ˜ธ๊ฐ€ ์ œ๋Œ€๋กœ ๋‹ซํ˜€์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
6+
* ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ด„ํ˜ธ์˜ ์ข…๋ฅ˜๋Š” 3๊ฐœ์ด๋ฉฐ ์ง๋งž์ถ”๊ธฐ์— ์œ ๋ฆฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ธ ์Šคํƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
7+
* {, [, ( ๊ฐ™์€ ์™ผ์ชฝ ๊ด„ํ˜ธ๋Š” ๋ฌด์กฐ๊ฑด stack์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
8+
* }, ], ) ๊ฐ™์€ ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ๋ฅผ ๋งŒ๋‚˜๋ฉด ๋งค์นญ๋˜๋Š” ์™ผ์ชฝ ๊ด„ํ˜ธ๋ฅผ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ pop()์„ ํ†ตํ•ด stack์—์„œ ๊ด„ํ˜ธ๋“ค์„ ๊บผ๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
9+
*/
10+
public boolean isValid(String s) {
11+
Stack<Character> stack = new Stack<>();
12+
13+
for (char c : s.toCharArray()) {
14+
if (c == '(' || c == '[' || c == '{') {
15+
stack.push(c);
16+
} else {
17+
/**
18+
* [์ค‘์š”] ๋ฌธ์ž์—ด์ด ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋ฏ€๋กœ for๋ฌธ์ด ๋ฐ˜๋ณต๋˜๋Š”๋ฐ ์Šคํƒ์ด ๋น„์—ˆ๋‹ค๋ฉด
19+
* ๊ทธ ์ฆ‰์‹œ false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  breakํ•ด์•ผ๋งŒ stack Exception์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
20+
* ๋ฌธ์ œ ์ผ€์ด์Šค: "]"
21+
*/
22+
if (stack.isEmpty()) {
23+
return false;
24+
}
25+
if (stack.peek() == '(' && c == ')') {
26+
stack.pop();
27+
} else if (stack.peek() == '[' && c == ']') {
28+
stack.pop();
29+
} else if (stack.peek() == '{' && c == '}') {
30+
stack.pop();
31+
}
32+
}
33+
}
34+
return stack.isEmpty(); // ์Šคํƒ์ด ๋น„์—ˆ๋‹ค๋ฉด ๊ด„ํ˜ธ๋Š” ์ง์ด ๋งž๋Š”๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.
35+
}
36+
}

0 commit comments

Comments
ย (0)