강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

SEO님의 프로필 이미지
SEO

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2023년 2회 코드해석 문제

기출) 2023년 2회 코드해석 문제 25:58 질문있습니다.

해결된 질문

작성

·

34

0

안녕하세요 c언어 정렬 문제 관련해서요 >=가 안 되는 건 왜 그런 건가요?

두 값이 같을 때 swap하는 건 메모리나 실행 시간 에서 비효율적인 건 알겠는데 결론적으로는 같은 아웃풋을 내지 않나요? 심지어 예시로는 같은 숫자도 없었고요..

감사합니다!

 

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

답 자체는 맞습니다. 같은 값이라도 교환하면 같은 값일테니까요.

만약 같은 문제가 정보처리기사 실기에 나왔으면 코드가 정상적으로 동작만 한다면 정답처리 됩니다.

 

꼭 >만 들어가야 한다고 생각하지 않으셔도 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다. SEO님.

C언어에서의 정렬 알고리즘 구현 시, >= 연산자를 사용하는 대신 > 만 쓰는 이유는 두 값이 동일할 때에는 자리를 바꾸지 않고 그대로 두려는 데 있습니다. 비록 두 값이 같다면 결과에 차이가 없다고 느낄 수 있지만, 불필요한 swap 연산은 실행 시간에 영향을 줄 수 있습니다. 특히 데이터 크기가 클 경우, 이러한 미세한 차이가 전체 성능에 영향을 줄 수 있기 때문에 이러한 최적화는 중요합니다.

즉, 주된 목적은 효율성을 높이는 것입니다. 예를 들어, 같은 값을 가진 두 요소가 자리를 계속 바꾸게 되면, 이는 쓸데없는 연산이 되어 버리고, 이는 배열이 큰 경우에 성능 저하로 이어질 수 있습니다.

아래 관련 질문을 통해 다른 학습자들의 사례와 수업 내용을 확인하실 수 있습니다:

해당 내용을 살펴보시면 정렬 알고리즘의 효율성을 위한 다양한 접근 방식을 이해하는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

SEO님의 프로필 이미지
SEO

작성한 질문수

질문하기