MISSPELL에 관한 질문입니다.

  • ccf05017
    ccf05017

    안녕하세요 몇일 전부터 파이썬으로 알고스팟을 처음부터 도전하기

    시작했습니다. 몇 번인가 제 컴파일러에서 동작을 하지만 알고스팟

    채점이 안되는 문제가 있었지만, 어떻게 해결했는데

    MISSPELL이라는 문제의 채점 부분은 오류를 찾지 못해서 질문을 남깁니다.

    문제에서 입력을 한 줄로 한다는 부분이 있어서, 슬라이싱 기능을 통해

    먼저 숫자 부분과 문자 부분을 나눠야겠다고 생각했습니다.(입력되는 공백 제외)

    나눈 뒤에는 숫자 부분을 -1 시켜서 index 번호라 생각하고, 문자 부분을

    index 번호를 통해 입력된 index 번호에 해당하는 문자를 제외시키고

    슬라이싱한 뒤 슬라이싱된 문자들을 합치는 방법으로 해결하려 했습니다.

    결과값 출력을 위해 loop문에 사용된 변수를 이용해서 '1 (출력단어)'

    형식을 맞추도록 설정도 해놨습니다.

    위의 방식으로 예제 입력을 해봤을 때는 결과값이 정상적으로 나와서

    채점에 도전했는데 계속해서 오답으로 처리가 됩니다.

    전에도 이런 적이 있어서 혼자서 처리해보려 했는데, 아직 미숙해서

    이번 문제는 어느 부분이 잘못된건지 혼자서는 찾아내기가 쉽지 않아서

    도움을 요청합니다. 도와주시면 감사하겠습니다.

    아래는 제가 작성한 코드를 첨부했습니다.

    how_many = raw_input()
    how_many = int(how_many)
    
    for k in range(how_many) :
    
        input_data = raw_input()
        number = input_data[0:1]
        number = int(number)
        word = input_data[2:]
    
        ind_num = number - 1
    
        result = word[0:ind_num] + word[ind_num+1:]
    
        print str(k+1) + ' ' + result
    

    9년 전
2개의 댓글이 있습니다.
  • limited107
    limited107

    rl = lambda: sys.stdin.readline()
    tc = int( rl() )

    for t in range(tc):
    cur = map(str, rl().split())

    이런식으로 해보세요. 저도 파이썬 처음하는데, 다른 사람꺼보니 이렇게 풀었네요.


    9년 전 link
  • ccf05017
    ccf05017

    알려주셔서 감사합니다. 제가 lambda 부분을 잘 몰라서 따로
    찾아보고 해보느라 감사가 늦었습니다.

    lambda함수로도 잘 작동해서 이거저거 찾아보니, 슬라이싱 부분을
    split()함수로 바꿔서 실행하니 작동하네요.

    도와주셔서 감사합니다 :)


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.