numList = [int(input()) for _ in range(9)] print(max(numList),end='\n'), print(numList.index(max(numList))+1)
List Comprehension(LC)를 이용하여 두줄로 풀이하였다.
쉽게 설명하자면, numList = [value for value in range(9)]
는
>>> numList = []
>>> for value in range(9):
... numList.append(value)
...
>>> print(numList)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
와 같다.
풀이의 numList = [int(input()) for _ in range(9)]
에서
numList
는 input()
으로 입력받는 string
변수를 int(input())
을 해주므로써 int
형 변수로 바뀌게 되고 반복 입력을 통해 들어온 변수들로 이루어진 리스트가 된다. 여기서 반복 입력은 for _ in range(9)
를 통해 9번의 입력으로 들어온 숫자가 된다.
_(underscore)
는 여러 의미가 있지만 여기서 값을 무시하기 위해 사용되는 문자라고 생각하면 된다. numList = [int(input()) for i in range(9)]
라고 해도 되지만 i가 굳이 없어도 되고, i가 사용되는 곳이 없기 때문에 _
로 해주면 된다.
#include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N; int cur; int max=0; for(int i=1;i<=9;i++) { cin >> N; if (max < N) { max = N; cur = i; } } cout << max << '\n' << cur; }
리스트를 따로 만들지 않고 입력 받을 때마다 최대값을 갱신해주며 max
변수에 저장해 주면서 그 때의 인덱스도 따로 저장해 주었다.