알고리즘 C#

백준 5597번 과제 안 내신 분..? C#으로 문제 풀어보기

minsoungdev 2025. 7. 29. 23:31

안녕하세요 저는 박민성입니다. 

 

오늘은 백준 5597번 과제 안 내신 분..? 풀어 보겠습니다.

문제를 보면

입력은 중복 없이 1보다 크거나 같고 30보다 작거나 같은 수들이 한 줄에 하나씩 총 28줄로 주어집니다.

 

출력은 입력된 수 중에 1부터 30의 수에서 없는 수를 두 줄로 출력합니다.

저는 문제를 보며 일단 28가지의 수를 for문으로 배열에 담은 뒤에

다시 이중 for문을 사용하여 없는 수를 찾기로 하였습니다.

이렇게 for문을 적어봤습니다.

하지만 이 방식대로 for문을 사용할 거면 문제가 생깁니다.

무슨 문제가 생기냐 하면 같은지를 비교하든 다른지를 확인하든 출력을 제대로 못합니다.

그렇기 때문에 

isNumber이라는 for문을 돌렸을 때 그 수가 있다면 true로 만들어 배열에 그 수가 있다면 출력을 안 하게 코드를 짤 겁니다.

이렇게 코드를 짰습니다. for문을 돌려서 그 수가 배열에 있다면 true 만들어주고 break를 해줍니다.

그리고 isNumber이 true면 출력을 안 해주고 다시 false로 만든 다음 배열에 인덱스를 높여줘서 다시 검사를 합니다.

이것이 전체 코드입니다.

이렇게 백준에 제출하였더니 

정답이었습니다.

 

문제가 티어는 낮지만 방법을 생각하는데 시간이 조금 걸렸습니다.