kms1212   1년 전

1. 각각의 입력받은 문자열들을 길이 순서로 배열합니다.

2. 그 문자열들을 역순으로 탐색하고 배열의 요소가 NULL이면 다음 요소로 건너뜁니다.

3. 2의 내부 루프에서 배열의 정방향 순서로 문자열이 접두어에 해당하는지 확인한 다음 포함되는 문자열이 있으면 모두 NULL처리한 뒤 결과값을 0에서부터 1씩 증가시킵니다.

문제의 예시들에서는 모두 정확한 결과값이 도출되었으며, 임의로 넣어본 결과값에서도 모두 정확하게 계산되었습니다. 아래는 테스트해본 입력과 그 출력입니다.

>>

입력출력집합 (단, "(a | b)"는 a 또는 b이며 출력에서는 a가 표시된다)
7 ca cade caed cae coff c cb4{cade, (caed | cae), coff, cb}
8 cirt c criow vimnb bbm bbmiis vim aosi5{cirt, criow, (vimnb | vim), (bbmiis | bbm), aosi}

 



chldnjstjrttt   1년 전

반례입니다 힌트는 orderlistaslength 함수에서 한글자만 바꾸면 됩니다 문자열 마지막에 NULL들어가는거를 고려해서.......

kms1212   1년 전

orderlistaslength 함수에서 i를 반복자로 하는 for문의 범위를 1 증가시켜서 제시해주신 반례의 결과값이 4에서 5로 바뀌었습니다. 그런데...

코드를 다시 제출해보니까 또 틀렸습니다로 나오네요...

어떤 다른 문제점이 있을까요?

chldnjstjrttt   1년 전

저도 13번째줄에서 50을 51로 바꾸니까 제꺼는 정답 떠요 

kms1212   1년 전

어...? 이제는 또 성공이네요.. 다른 실수가 있었던 건가 봐요 감사합니다!

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