enteritis   2년 전

안녕하세요.

강의를 듣고 코드를 작성하여 답은 맞았지만, 이해가 안되는 부분이 있어 질문을 드립니다.

문제에서 정수 N를 입력 받도록 한 이유가 잘 이해가 가지 않습니다. 정수 N을 입력 받는 것이 수열 A를 작성하는데에 제약을 주지 않기 때문입니다.

처음에 코드를 작성할 때 수열 A의 길이가 정수 N이 될 수 있도록 A를 리스트로 작성하여 append()를 이용해 수열을 만들었으나, 아래와 같이 작성한 코드가 정답이 되니 제가 문제를 잘못 이해한 것인가 하는 생각이 들었습니다.

혹시, 문제의 지문이 잘못된 것은 아닌가요?

https://www.acmicpc.net/board/...

링크와 유사한 질문인 것 같습니다.

dbshin59   2년 전

파이썬의 경우에는 질문자님의 말이 맞습니다.

파이썬은 주로 split를 사용하니까요.

하지만, c나 c++같은 경우에 scanf나 cin을 사용하게 되면

공백으로 나누어진 수들을 하나씩 읽습니다.

예를 들어, 

1 10 4 9 2 3 8 5 7 6

이 있어도 

1

10

4

9

2

3

8

5

7

6

씩 따로 읽습니다.

언어마다 특성이 다르기에 A가 필요합니다.

A를 모르면 몇 번 입력을 받아야 할 지 모르니까요.

enteritis   2년 전

@dbshin59

답변 주셔서 감사합니다. 다양한 언어(설명해주신 C, C++언어)로 풀 수 있는 문제이기 때문에 필요한 변수임을 이해하였습니다.

좀더 깊게 이해하려면 다른 언어에 대한 공부가 필요하겠네요.

댓글을 작성하려면 로그인해야 합니다.