튜토리얼 URL - 파이썬

  • hyungjun
    hyungjun

    a = { ' ' : '%20',
    '!' : '%21',
    '$' : '%24',
    '%' : '%25',
    '(' : '%28',
    ')' : '%29',
    '*' : '%2a' }

    c=0
    pwe=0
    T = int(input())

    for b in range(T):
    N = input()
    count = len(N)
    while True:
    if count == 0:
    break

    tz = N.find(a[' '])
    
        if tz !=-1:
            N = N[:tz] + ' ' + N[tz+3:]
    
        tzo = N.find(a['!'])
    
        if tzo !=-1:
            N = N[:tzo] + '!' + N[tzo+3:]
    
    
        tzf = N.find(a['$'])
    
        if tzf !=-1:
            N = N[:tzf] + '$' + N[tzf+3:]
    
    
        tzfi = N.find(a['%'])
    
        if tzfi !=-1:
            N = N[:tzfi] + '%' + N[tzfi+3:]
    
    
        tze = N.find(a['('])
    
        if tze !=-1:
            N = N[:tze] + '(' +N[tze+3:]
    
    
        tzn = N.find(a[')'])
    
        if tzn !=-1:
            N = N[:tzn] + ')' + N[tzn+3:]
    
    
        tza = N.find(a['*'])
    
        if tza !=-1:
            N = N[:tza] + '*' + N[tza+3:]
        count -=1
    print(N)

    코드를 이렇게 적었습니다 근데 문제가

    %2520을 입력하면
    %20이 되서 ' '이렇게 되니

    %부분에서 계속 문제가 생기는데 이 부분을 어떻게 해결해야 할지 감이 안잡혀 고수님들의
    도움을 요청합니다


    6년 전
1개의 댓글이 있습니다.
  • seico75
    seico75

    일단 answer%21%21%21%21 은 어떻게 결과가 나오나요?
    %가 문제라면 %를 마지막에 처리하면 될 것 같습니다. (이 구조에서 말고)


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