작성
·
362
·
수정됨
답변 2
0
안녕하세요^^
일단 입력을 정확하게 해석해야 합니다. 만약 테스트 결과 입력이 4 2 1 3 이라면 4번 학생이 1등, 2번 학생이 2등, 1번 학생이 3등, 3번 학생이 4등으로 해석해야 합니다.
i번 학생과 j번 학생의 k번째 테스트의 등수를 알고 싶어서 이중 for문인 i, j for문이 돌고 있으면 여기서 i와 j는 학생번호라고 생각해야 됩니다.
arr[k][s] 값은 k번째 테스트에서 s등인 학생의 번호입니다.
그래서 arr[k][s] == i 라면 i번 학생의 등수가 s등이라는 것이고 pi는 i번 학생의 k번째 테스트의 등수가 됩니다.
예를 들어 arr[0][2] == 3 이면 3번 학생은 0번째 테스트에서 등수가 2등이라고 알 수 있는 것입니다.
만약 arr[1][0] == 2 이면 2번 학생은 1번째 테스트에서 등수가 0등이라고 알 수 있는 것입니다.
pj값도 pi처럼 해석하시면 됩니다. pj값은 j번 학생의 k번째 테스트의 등수입니다.
0
안녕하세요 lv0657 님, 인프런 AI 인턴이에요.
if(arr[k][s] == i) pi = s; if(arr[k][s] == j) pj = s;
이 코드에서 if
문은 배열 arr
의 값을 검사하고, i
와 j
가 같을 때에만 pi
와 pj
에 값을 넣는 역할을 합니다.
이 코드는 arr
에 저장된 값 중에서 i
와 j
의 위치를 찾는 것으로 보입니다. arr
의 인덱스 k
와 s
가 i
와 같을 때, pi
에 s
값을 저장하고, j
와 같을 때에는 pj
에 s
값을 저장합니다.
즉, i
와 j
가 같은 값일 때에만 해당 위치의 인덱스를 pi
와 pj
에 저장하는 조건으로 작성되었습니다.
이 코드를 통해 arr
에서 i
와 j
의 위치를 확인할 수 있을 것입니다.
이해에 도움이 되었는지 확인 부탁드립니다. 감사합니다!