작성하신 코드에서 런타임 에러가 나는 이유는 어포스트로피가 단어의 맨 앞, 맨 뒤에도 존재할 수 있기 때문입니다.
19844번 - 단어 개수 세기
작성하신 코드에서 런타임 에러가 나는 이유는 어포스트로피가 단어의 맨 앞, 맨 뒤에도 존재할 수 있기 때문입니다.
단어의 앞뒤로 동시에 '가 있을 경우에 런타임 에러가 발생하네요.
하지만 이를 수정한다해도 틀렸습니다가 발생할거라 예상합니다.
a'b'c'd
와 같은 단어의 경우 split()
호출 결과가 4개라, first, second
이렇게 두 개로 받으면 런타임 에러가 발생합니다.
split()
함수의 두 번째 인자로 숫자를 주어 해결할 수 있습니다. 이 인자는 주어진 delimiter로 최대 몇 번까지 쪼갤 지를 결정합니다.
>>> "a_b_c_d".split("_", 0) ['a_b_c_d'] >>> "a_b_c_d".split("_", 1) ['a', 'b_c_d'] >>> "a_b_c_d".split("_", 2) ['a', 'b', 'c_d'] >>> "a_b_c_d".split("_", 3) ['a', 'b', 'c', 'd'] >>> "a_b_c_d".split("_", 4) ['a', 'b', 'c', 'd']
위 예시를 참고해 적절한 값을 넣으면 정답으로 처리됩니다.
댓글을 작성하려면 로그인해야 합니다.
jryoun1 3년 전
도저히 런타임 에러를 못찾겠습니다 ㅠ
도와주시면 감사하겠습니다.
풀이 방법은 입력받은 문자열 중에서 '-'을 공백으로 치환하고 분리하여 word라는 리스트에 넣었습니다.
만약 word안에 있는 원소중에서 '를 가지고 있는 원소는 앞 뒤로 분리하여 앞과 뒤에 일치하는 것이 있는지 확인하고 카운트 해주었습니다.