"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python의 HackerRank 문제 - 기본 데이터 유형 목록

Python의 HackerRank 문제 - 기본 데이터 유형 목록

2024-11-06에 게시됨
검색:447

Problema HackerRank em Python - Base Data Types Lists

이 Python 코드는 사용자 제공 명령을 기반으로 목록에서 일련의 작업을 수행하도록 설계되었습니다. 코드가 어떻게 작동하는지 단계별로 분석해 보겠습니다.

if __name__ == '__main__':
    N = int(input())
    l = []
    while(N>0):
        cmd_l = input().split()
        if(len(cmd_l) == 3 and cmd_l[0] == "insert"):
            #insert statement
            l.insert(int(cmd_l[1]),int(cmd_l[2]))
        elif(len(cmd_l) == 2 and (cmd_l[0] == "remove" or cmd_l[0] == "append")):
            if(cmd_l[0] == "remove"):
                l.remove(int(cmd_l[1]))
            elif(cmd_l[0] == "append"):
                l.append(int(cmd_l[1]))
        elif(len(cmd_l) == 1):
            if(cmd_l[0] == "sort"):
                l.sort()
            elif(cmd_l[0] == "reverse"):
                l.reverse()
            elif(cmd_l[0] == "pop"):
                l.pop()                
            elif(cmd_l[0] == "print"):
                print(l)
        N -= 1

if __name__ == '__main__':

  • 이 줄은 스크립트가 직접 실행되고 있는지 확인합니다. 파일이 프로그램의 진입점인 경우에만 이 블록 내의 코드가 실행되도록 하는 관행이 채택되었습니다.

N = int(입력())

  • 프로그램은 사용자가 변수 N에 저장된 정수를 입력할 것으로 예상합니다. 이 숫자는 사용자가 수행할 작업 수를 나타냅니다.

l = []

  • 작업이 수행될 때 요소를 저장하는 데 사용되는 빈 목록입니다.

동안(N>0):

  • N이 0보다 큰 동안 계속 실행되는 while 루프가 시작됩니다. 이는 사용자가 수행하려는 각 작업에 대해 한 번씩 루프가 N번 실행된다는 의미입니다.

cmd_l = 입력().split()

  • 루프 내에서 프로그램은 사용자가 분할() 메서드를 사용하여 문자열 목록(cmd_l)으로 분할된 텍스트 줄을 입력할 때까지 기다립니다. cmd_l 목록의 각 요소는 수행할 작업의 일부를 나타냅니다.

if(len(cmd_l) == 3 및 cmd_l[0] == "삽입"):

  • 이 줄은 작업이 세 부분으로 구성된 "삽입" 명령인지 확인합니다(cmd_l은 길이가 3이어야 하고 첫 번째 요소는 "삽입"이어야 함).

l.insert(int(cmd_l[1]),int(cmd_l[2]))

  • 위 조건이 true일 경우 리스트 l의 insert 메소드가 호출됩니다. 인수는 문자열에서 정수로 변환됩니다. cmd_l[1]은 요소가 삽입될 위치이고, cmd_l[2]는 삽입될 요소입니다.

elif(len(cmd_l) == 2 and (cmd_l[0] == "제거" 또는 cmd_l[0] == "추가")):

  • 이 줄은 작업이 두 부분으로 구성된 "제거" 또는 "추가" 명령인지 확인합니다. cmd_l의 길이는 2이고 첫 번째 요소는 "제거" 또는 "추가"여야 합니다.

if(cmd_l[0] == "제거"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "추가"):
l.append(int(cmd_l[1]))

  • 명령(제거 또는 추가)에 따라 목록 l의 해당 메서드가 호출됩니다. 제거의 경우 cmd_l 요소(정수로 변환됨)가 목록에서 제거됩니다. 추가의 경우 cmd_l[[1](정수로 변환됨) 요소가 목록 끝에 추가됩니다.

elif(len(cmd_l) == 1):

  • 작업이 단일 부분 명령인지 확인합니다(cmd_l의 길이는 1이어야 함).

if(cmd_l[0] == "정렬"):
l.sort()
elif(cmd_l[0] == "역방향"):
l.reverse()
elif(cmd_l[0] == "팝"):
l.pop()
elif(cmd_l[0] == "인쇄"):
인쇄(l)

  • 명령어(sort, reverse, pop, print)에 따라 목록 l의 해당 메서드가 호출됩니다. sort는 목록을 정렬하고, reverse는 요소의 순서를 반대로 하고, pop은 마지막 요소를 제거하고, print는 목록을 인쇄합니다.

N -= 1

  • 루프가 끝나면 N은 1씩 감소하여 작업이 수행되었음을 나타냅니다. 이는 루프가 끝날 때 N이 0이 될 때까지 계속됩니다.
릴리스 선언문 이 기사는 https://dev.to/gusmedeirost/problema-hackerrank-em-python-base-data-types-lists-5h91?1에 복제되어 있습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다. 그것
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3