백준
백준 5597 c++ 풀이
ris
2024. 3. 16. 16:25
이번 문제는 간단한 문제입니다.
하지만 2일동안 했다는...
방식 하나만 알면 정말 간단한 문제였습니다.
문제를 보시면 출석번호를 구하는 것이기에 자연수입니다.
그래서 index의 0을 제외하고 30개를 만들기 위해 31개의 범위를 가진 배열을 만들었습니다.
그리고 이제 해야할 것은 제출한 학생과 제출하지 않은 학생을 구별하는 것입니다.
물론 진짜로 1,2,3,4,5,6,... 다 해서 각각 계산할 수 있습니다.
제가 그렇게 해서 2틀을 날렸지만 가능할겁니다.
하지만 그렇게하면 비효율적인데다가 복잡할겁니다.
그 방식은 리스트 값만을 사용하기 때문이죠.
하지만 리스트에는 index라는 값도 있습니다.
그리고 이 문제에서 index는 몇 번째인지도 나타낼 수도 있죠.
그래서 모든 값에 0을 넣고 부른 학생들을 가리키는 값만 1로 바꿔주고 출력해주면 끝입니다!
정말 간단하지만 정작 이 방법을 모르는 상태에선 정말 답이 없는 문제였습니다.
물론 저에게만 그럴 수도 있습니다.
어쨌든 끝!