자바 알고리즘(문자열 문제) 질문드립니다

조회수 965회

"A"|"B""AAA""CD"|"EF" (변형전) 와 같은 텍스트가 StringBuilder 에있고

(A|B)?(A)?(A)?(A)?(C(D)?|E(F)?)? (변형후)

이런식으로 변환하려합니다.

알파벳은 임의로 아무 알파벳이나 들어올수있고, 파이프 기호(|) 또한 두개이상 들어올 수 있는 상황입니다. 파이프가 있을경우에는 두개로 묶어서 한 버퍼에 넣고, 그걸 변환한뒤 버퍼를 지우는식으로 짤 계획인데,

하나씩 버퍼에서 끄집어내서 비교하는 방식으로 알고리즘을 짜려고하는데 너무 복잡해서 잘 안되네요 도움주시면 감사하겠습니다 ㅠㅠㅠ

[code]

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

char literalChar = buffer.charAt(i); //여기서 뽑아서 한글자씩 비교

}

if(literalChar == '\"') {

//" flag

choice = !choice;

count = 0;

//continue;

} else if(literalChar == '|') {

//파이프일때

}

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 규칙을 파악해야 로직을 세우겠죠. "CC"|"DD" 는 어떻해 되는겁니까? 정영훈 2017.12.8 01:05

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)