인프런 커뮤니티 질문&답변

BeginnerCoder님의 프로필 이미지

작성한 질문수

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

RemoveInvalidParentheses

새로운 풀이법 문의

작성

·

281

2

public List<String> solve(String s) {
List<String> result = new ArrayList<>();
if (s == null)
return result;

for (int i = 0; i < s.length(); i++) {
String newStr = s.substring(0, i) + s.substring(i + 1);
if (isValid(newStr) && !result.contains(newStr)) {
result.add(newStr);
}
}
return result;
}

위와 같이 풀어보았는데 같은 결과가 나옵니다.

강사님의 substring 과 isValid를 이용했습니다.

엄청 단순해졌는데,,

혹시 이 풀이에 문제가있을까요

그런데 신기한게 해당 문제로 검색해서 다른풀이들을 보면 모두 강사님처럼 DFS로 풀었습니다.

저처럼 잘모르는 사람이 쉽게 가보려고 얍삽이?를 쓴것처럼 한 경우는없습니다.

왜그런것인가요?

답변 2

0

BeginnerCoder님의 프로필 이미지
BeginnerCoder
질문자

2020. 10. 21. 23:08

 시간복잡도 제한이 있다면 성능에 집중하고 없다면 창의적으로, ,, 좋은 조언 감사합니다

0

푸샵맨 코딩스터디님의 프로필 이미지

2020. 10. 21. 07:31

안녕하세요 

답만 구하면 상관없죠 ^^*
문제에서 time complexity 제한조건이 없는한 창의적인 방식으로 풀면 더 가산좀이 있죠