codinginpain   3년 전

안녕하세요~ 문제를 열심히 풀어보는 와중에 
해결이 되지 않아 질문 남깁니다.

문제는 요약 하자면 일련의 문자열을 입력 받아서

나름대로 축약하여 UCPC 가 나오면

I love UCPC

나오지 않으면

I hate UCPC 

출력하는 문제로 이해하고 진행하였습니다.

저는 접근하기를 그냥 문자열얼 받은 뒤

토큰을 반복 돌리면서 대문자 U C P 와 일치하는 문자들을 뽑아내어

최종적으로 UCPC 와 일치하면 해당 출력문을 출력하게 로직을 짜보았습니다

제가 생각하기에는 잘 되야 할 거같은데 

채점시에는 틀렸다고 나와서

혹시 제 코드의 허점이나 반례에 대해 지식을 나누어 주시면 너무나 고맙겠습니다.

읽어주셔서 감사합니다!

shg9411   3년 전

UCPC가 입력으로 들어와도 love,

U C C P C C가 입력으로 들어와도 love가 출력되어야 합니다.

codinginpain   3년 전

아넵, 코드 수정해서 해봐야겠네요 
감사합니다!

codinginpain   3년 전

윽.. 정말 죄송한데 U C C P C C 도 가능하게
처리하였는데 다른 반례가 또 있는걸까요..ㅠ 죄송합니다

코드 첨부된 내용은 기존의 방법에서

첫문자일때는 U가 있을시에 바로 추가하고 그 외 1번째 부터는

새로 담고있는 문장의 마지막 글자를 체크해서 중복일시 추가 하지 않는 방법으로 하여

U C C P C C 도 잘 나오게 하였습니다..

혹 더 나은방법을 알려주실분도 환영입니다..

shg9411   3년 전

너무 어렵게 생각하시지 않아도 돼요. 문자를 처음부터 순회하면서 U가 있는지 확인, 그 이후부터는 C가 있는지 확인, 그 이후부터는 P, 그 이후는 C가 있는지 확인만 하시면 끝입니다.

단순하게 생각하면 bool값 4개가 있으면 되겠죠.

codinginpain   3년 전

답변 감사합니다 UCAPC 를 넣으면 hate가 나와야하는데 love가 나오네요 제 로직상으로는..

A를 그냥 뛰어 넘기만 하고 잘못 축약 된걸 추가해야겠어요

기존의 코드를 한번 손봐보고 도저히 해결이 안되면 말씀하신 방법처럼 그냥 단순명료하게 짜봐야겠어요! 너무감사합니다 답변

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