Closed baexxbin closed 2 weeks ago
String regex = ^[ABCDEF]?A+F+C+[ABCDEF]?$
^
: 문자로 시작하는[문자들]
: 내부 문자들 중 아무거나?
: 0개 혹은 1개 +
: 1개 이상$
: 문자로 끝나는boolean infected = Pattern.matches(regex, str);
20*200*5
문제에서 제시한 5개의 조건을 모두 구현하고, 각 문자가 올바르게 배치되어 있는지 전역변수 order
로 charAt(order)
문자를 하나씩 확인
GOOD
GOOD
GOOD
GOOD
"AFC"
는 예외케이스로 별도로 조건문 처리시간 넉넉함!
s.matches("^[ABCEDF]?A+F+C+[ABCDEF]?$"
정규식이 익숙해질 때까지 연습해봐야겠어요 ㅎㅎ!
idx
: 현재 체크하는 알파벳 위치check1()
check2()
특정 알파벳
이 1개 이상 존재해야 함. idx는 전역변수로, 올바른 Idx값이 들어가도록 중간 조건들을 순차적으로 확인
if (idx==chars.length || (idx==chars.length-1 && check1(chars[idx])))
isOk = true
정규식으로 푸는 문제였군요!! 오늘 정규식 공부합니다! 진짜!! ㅎㅎㅎㅋㅋ
정규식
: 특정 문자열 패턴을 쉽게 파악할 수 있는 도구
String str = "^[ABCDEF]?A+F+C+[ABCDEF]?$";
Stack으로 풀다가 정규식으로 푼다는 충격적인 사실을 발견했습니다 정규식 처음 보는데 신기하네요,,!!! 스터디의 순기능 ㅎㅅㅎ