inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

유효한 괄호_코딩

valid_Parentheses문제 질문

175

wjsehgus1014

작성한 질문수 9

1

package Queue_Stack;

import java.util.Stack;

public class Valid_Parentheses {

public static void main(String[] args) {

String s = "{[]}";

// String exp2 = "({)}";

System.out.println(isValid(s));

}

public static boolean isValid(String s) {

// 1. 에러체크

if (s.length() % 2 != 0) return false;

Stack<Character> stack = new Stack<Character>();

// 2.

for (int i = 0; i < s.length(); i++) {

switch (s.charAt(i)) {

case ')':

if (!stack.empty() && stack.peek() == '(')

stack.pop();

break;

case '}':

if (!stack.empty() && stack.peek() == '{')

stack.pop();

break;

case ']':

if (!stack.empty() && stack.peek() == ']')

stack.pop();

break;

default:

stack.push(s.charAt(i));

break;

}

}

return stack.empty();

}

}

이결과가 계속 false로 나옵니다... 이유를 못찾겠네요 ㅠㅠ 그리고 isEmpty와 empty 메소드의 차이가 있을까요?

java 코테 준비 같이 해요!

답변 1

2

푸샵맨 코딩스터디

안녕하세요? wjsehgus1014 님

제가 방금 글을봤습니다. 최대한 빨리 답변을 드려야하는데 죄송합니다.

질문주신 ValidParenthese , 즉 괄호문제는 자주 나오는 문제입니다. 이 문제를 보는 순간 스택을 사용해야 한다는 감이 와야 합니다. 

1. 질문주신 내용에서 잘못된 부분을 찾았습니다.

if (!stack.empty() && stack.peek() == ']')

->if (!stack.empty() && stack.peek() == '[')

'[' 이걸로 바꿔주셔야합니다.

2. 이런 실수는 자주 하게됩니다.

그래서 실전에서는 ide(이클리스)에 코딩을 일단하시고 디버깅을 돌려보셔야합니다.

실전에서 하실때 , 안되니까 당황하게 되서 시간을 엄청나게 까먹게 됩니다.

나중에 보면 진짜 별거 아닌데..

기업에서 제공하는 코딩문제 사이트에서 디버깅하면 시간도 오래걸립니다.

그리고 이클립스에서 돌린 코드를 다시 코딩문제 셤 사이트에 복사 붙여넣기 해도 테스트케이스가 불충분하다고 나옵니다. 이럴때는 엣지케이스를 다양하게 생각해야합니다. 예를들어 내가 만든 변수를 int 최대값으로 제한한다거나 하셔야합니다.

결론은 실전에서도 이클립스로 코딩을 하고 디버깅을 하고 엣지케이스를 생각해보고 , 다한내용을

코딩문제 사이트에 복사붙여넣기 하세요~

즐코딩하세요~

강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다

0

255

0

나선형매트릭스 깃허브에 코드가 없는것같아요

0

210

0

로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!

0

225

0

새로 생긴 기초강의 질문드려요

1

376

1

질문드립니다

1

220

1

Unique Paths Integer 질문입니다

0

220

1

subString 방법으로 문제 풀이 영상은 짤린건가요?

1

254

1

DFS 방식으로 푼 것이 맞나요?

0

310

2

질문드립니다~

0

197

1

left if문에 대해서

1

257

1

오타 인가요?

1

238

1

안녕하세요 강사님

1

190

1

질문 드립니다

0

173

2

Queue&Stack 문제해설집 문의

0

184

1

문제분석 로직 질문

1

231

1

시간 복잡도 문의드립니다.

1

233

1

시간복잡도 질문드립니다.

1

203

1

for-each 문 질문있습니다!

0

295

1

강의영상에서 사용된 로그 메소드가 궁금합니다.

2

282

2

강의자료 + 문제 이해 관련 질문입니다

1

279

3

강사님 오류맞나요?

1

208

1

강사님 시간 복잡도에 대해서 질문드립니다.

1

174

1

질문입니다.

1

203

1

문제에 대한 이해

1

314

1