강의

멘토링

로드맵

Inflearn brand logo image

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

소망의생각님의 프로필 이미지
소망의생각

작성한 질문수

스스로 프로그래밍 하는 기초 자료구조/알고리즘(C++)

클래스와 구조체, 멤버함수의 동작원리

선생님 질문이 있습니다.

해결된 질문

작성

·

49

0

해당 강의를 듣고, 'LV01 클래스와 구조체 차이, OOP' 연습문제 7번 관련해서 질문이 있습니다.

 

문제에서 요구 조건으로 'flag 기법을 쓰지 않고,

isExist함수를 써서 입력받은 문자가 위 배열에 존재하는지 출력 해 주세요'라고 하셨는데

 

isExist 함수 내에서는 flag 기법을 써도 되는지에 대해서 궁금해서 질문해봅니다.

 

이게 안 된다고 하시면 bool 형을 써서 표현하는 것은 괜찮은 건가요?

함수 내에서 표현하려고 해도 계속 flag 기법을 쓰는 것처럼 보여서요.

답변 2

0

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

네 플래그 기법을 함수로 묶은것 이에요 해당함수는

아 그렇군요. 너무 깊게 생각했네요.

답변 주셔서 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 소망의생각님.

질문 주신 내용은 ‘isExist’ 함수 내에서의 구현 방법에 대한 것이네요. ‘flag 기법’이라는 것은 보통 어떤 조건을 만족했는지를 체크하기 위해 변수를 사용하는 방법을 뜻합니다. 문제에서 요구한 것은 이 ‘flag’ 형태의 변수를 별도로 사용하지 않는 방법으로 구현해 보라는 의도로 보입니다.

isExist 함수 구현 방법

  1. bool 반환 타입 활용:

    • 함수 자체가 bool 타입의 값을 반환하도록 구현함으로써, flag 변수 없이도 원하는 조건을 만족할 수 있습니다. 예를 들어, 값이 존재하면 true, 존재하지 않으면 false를 반환하도록 직접 작성하면 됩니다.
  2. 직접적인 조건 반환:

    • 함수 내부에서 배열을 순회하며 조건이 성립될 때 즉시 true를 반환하고, 그것이 아니면 마지막에 false를 반환하는 식으로 구현할 수 있습니다. 이렇게 하면 별도의 flag 변수를 사용하지 않고도 조건을 체크할 수 있습니다.

함수 내에서 변수 유지보다는 반환 값을 직접적으로 활용하는 방향으로 접근해 보시면 구현하실 수 있을 것입니다.

추가 도움 자료

비슷한 질문과 예시는 ‘질문이 있습니다.’에서 확인하실 수 있습니다. 이전의 질문들에서도 함수 구현 시의 다양한 접근법이 다뤄졌으니, 참고하시면 도움이 될 것입니다.

위의 방법이 문제 해결에 도움이 되길 바라며, 이메일 논리에 맞게 구현하시길 추천드립니다. 이 과정에서 특정한 부분이 더 필요하시다면 언제든지 질문해 주세요!

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

소망의생각님의 프로필 이미지
소망의생각

작성한 질문수

질문하기