kdqer   2년 전

안녕하세요! 

replace를 쓰는 경우에는 틀렸습니다가 나오는데

replaceAll을 쓰는 경우에는 맞았습니다가 나옵니다.

둘 다 pkai 입력해도 똑같이 NO 가 나오는데, replace는 어떤 부분에서 잘못된 결과를 내는 걸까요?

아시는 분은 답변 부탁드립니다. 감사합니다.

djm03178   2년 전

실행 순서를 잘 생각해보시면 반례를 찾을 수 있습니다. pi, ka, chu 순으로 대체하고 있기 때문에 pkai를 입력하면 제일 먼저 pi를 찾으니까 건너뛰고 그 후 ka만 찾아서 결국 pi가 남으니까 NO가 나오겠지만, kpia로 입력하면 pi가 먼저 없어지면서 ka가 남고 그 후 다시 ka가 발견되면서 없어져 YES를 출력하게 됩니다.

kdqer   2년 전

세상에 순서를 생각하지 못 했네요. 늦은 시간에 정말 감사드립니다! 

댓글을 작성하려면 로그인해야 합니다.