• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

T, input(), map(int, input().split() 관련 질문을 드리고 싶습니다.

21.12.08 21:47 작성 조회수 145

0

안녕하세요 선생님, 수업 내용 중 이해가 안되는 부분이 있어서 질문 드리고 싶습니다.

크게는 아직 sys.stdin문 이하 내용이 이해가 안되는거 같은데요

 

수업 내용 중 

제가 원래 데이터 분석 쪽으로 공부를 많이 해서 쥬피터 계열 쪽으로 파이썬을 많이 썼었는데, 한번 ipynb 파일로 열어서 int(input()을 쳐보니까 바로 이 부분에 들어갈 숫자를 물어보더라구요.

 

py파일에선 그런 방식을 통하지 않고, 다만 input.txt 안에 있는 첫번째 줄 에서 T가 제시하게 되는 것으로 이해하게 되었는데... 어떻게 해서 파이썬이 int(input()) 코드 부분을 통해 input.text의 첫째줄인 숫자 2가 들어갈 수 있건지 잘 이해가 안됩니다.

또한 그로 인해 테스트 케이스가 2개로 정해질 수 있는 것도 잘 이해가 안됩니다....

 

두번째 질문으로는 

for t in range(T): 

    n, s, e,k = map(int,input().split())

    a = list(map(int, input().split()))

    print(a) 

실행시 어떤 이유로 3번째 줄과 5번째 줄이 출력되는 것인지, 이 부분이 이해가 안됩니다.... 

예시로 나온 txt 파일 내에서, 첫번째 줄에 나온 T=int(input())을 통해 2을 인식하고, 이를 통해 테스트 케이스를 2개로 인식하며 , 

첫번째 케이스의 1번째 줄에서 n,s,e,k를 인식하고, 2번째 줄이 인식되는건지... 그렇다면 그게 어떻게 되는건지 잘 모르겠습니다..ㅠ

n,s,e,k 변수가 문제 내에서 어떤 원리를 통해 input.txt 파일 내에서 넘어와서 각 변수 내로 들어가는지, 그리고 어떤 역할을 하는지는 이해를 했는데, 아직까지는 input.txt 파일이 어떤 식으로 코드 내로 들어가는지 잘 모르는 것 같습니다..😭

답변 1

답변을 작성해보세요.

0

안녕하세요^^

저도 input 파일에서 넘어어는 자세한 것은 모릅니다.

그냥 input().split() 함수가 파일의 한줄을 읽어 가져온다는 것입니다.

for t in range(T): 

    n, s, e,k = map(int,input().split()) # 2번째줄과 4번째줄을 읽게 됩니다.

    a = list(map(int, input().split())) #3번째 줄과 5번째 줄을 읽게 됩니다.

    print(a)