CodingTest/Java
Lv.2 : ์ฌ๋ฐ๋ฅธ ๊ดํธ
Soom_1n
2023. 9. 5. 23:09
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ด๋ฆฐ ๊ดํธ( '(' )์ ๋ซํ ๊ดํธ( ')' ) ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
- ์ด๋ฆฐ ๊ดํธ์ ๋ซํ ๊ดํธ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์์ ์ด๋ฃจ๋ ๋ฌธ์์ด์ธ์ง ํ๋จํด true๋ false๋ฅผ ๋ฐํํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ์ ํ์ ์ธ ์คํํ ๋ฌธ์ ์ง๋ง, ์คํ์ผ๋ก ํ๋ฉด ๋นํจ์จ์ ์ด๋ค.
- ์ด๋ฆฐ ๊ดํธ๊ฐ ๋์ค๋ฉด ์นด์ดํธ๋ฅผ +1ํ๋ค.
- ๋ซํ ๊ดํธ๊ฐ ๋์ค๋ฉด ์นด์ดํธ๋ฅผ -1ํ๋ค.
- ์นด์ดํธ๊ฐ ์์๊ฐ ๋๋ฉด ์ฌ๋ฐ๋ฅด์ง ์์ ๋ฌธ์์ด์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
class Solution {
boolean solution(String s) {
boolean answer = true;
int left = 0;
for(int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if(c == '(') {
left++;
} else {
if(left == 0) {
answer = false;
break;
}
left--;
}
}
if(left > 0) answer = false;
return answer;
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ๋ฌธ์s๋ฅผ chatAt์ผ๋ก ๋ฌธ์๋ฅผ ํ๋์ฉ ๊ฒ์ฌํ๋ค.
- ์ด๋ฆฐ ๊ดํธ๊ฐ ๋์ค๋ฉด ์นด์ดํธ๋ฅผ +1ํ๋ค.
- ๋ซํ ๊ดํธ๊ฐ ๋์ค๋ฉด ์นด์ดํธ๋ฅผ -1ํ๋ค.
- ์ด๋ฆฐ ๊ดํธ๊ฐ 0์ด๋ผ๋ฉด ์ฌ๋ฐ๋ฅด์ง ์์ ๋ฌธ์์ด์ด๋ฏ๋ก false๋ฅผ ๋ฐํํ๋ค.
- ๋ง์ฝ ๋ฌธ์์ด์ ๋ชจ๋ ๊ฒ์ฌํ๋๋ฐ, ์นด์ดํธ๊ฐ 0๋ณด๋ค ํฌ๋ค(์ด๋ฆฐ ๊ดํธ๊ฐ ๋จ์์๋ค)๋ฉด ์ฌ๋ฐ๋ฅด์ง ์์ ๋ฌธ์์ด์ด๋ฏ๋ก false๋ฅผ ๋ฐํํ๋ค.
๐ธ end ๐ธ
- ์คํ ๋ฌธ์ ๋ก ์์ฃผ ์ ๋ช ํ ์ ํ์ด์ง๋ง, ์คํ์ ์ธ ํ์๋ ์๋ ๋ฌธ์ ์๋ค.
- ๋ซํ ๊ดํธ์์ left๊ฐ 0์ธ์ง ํ์ธํ๋ ์ค์ฒฉ ์กฐ๊ฑดํ์์ด ๋ณ๋ก ๊น๋ํ์ง ๋ชปํ ๊ฒ ๊ฐ๋ค.
- ์ด๋ฆฐ ๊ดํธ๋ฉด ๋ฌด์กฐ๊ฑด ์นด์ดํธ +1, ๋ซํ ๊ดํธ๋ฉด ๋ฌด์กฐ๊ฑด ์นด์ดํธ -1์ ํ๊ณ , ์นด์ดํธ๊ฐ ์์์ ๊ฐ๋ฉด false๋ฅผ ๋ฐํํ๋ ํ์์ด ์ ์ผ ๊น๋ํ ๊ฒ ๊ฐ๋ค.
728x90