inflearn logo
강의

講義

知識共有

(2026年最新!) 一週間で合格する情報処理技師実技

比較演算子と繰り返し文+条件文の問題解説(v3)

이해가안가요...

解決済みの質問

370

ariel123

投稿した質問数 16

0

어디서어디가 적용되는범위고. 세밀했으면졸겠어요 이게참이라서이렇게된다든지. 비교연산자조건문반복문강의 5분에나온느문제. 2읭배수 3의배수. 이론곤알겠는데. 이게. 어떻게. 이프문에서. 나와서. 카운트가언제 증가하는지. 하나도모르겠네요. .설명좀해주세요. .

python java c 정보처리기사

回答 2

0

ariel123

네네 감사합니다

0

weekendcode

안녕하세요.

#include <stdio.h>
int main() {
  int count = 0;

  for (int i = 1; i < 20; i++) {
    if (i % 2 == 0 || i % 3 == 0) {
      if (i % 6 != 0) {
        count++;
      }
    }
  }
  printf("Count: %d\n", count);
  return 0;
}

이 문제 말씀해주신 것으로 생각하고 설명드리겠습니다.

2의 배수 혹은 3의 배수인 것은 이해하셨다고 하니, OR연산자(||)에 대해서는 설명하지 않겠습니다.

 

반복문 안에 조건문, 조건문 안에 다시 조건문이라서 조금 어렵게 보이실 수 있습니다.

주석을 통해서 설명드리겠습니다.

#include <stdio.h>

int main() {
  // count라는 변수를 선언하고 0을 할당
  int count = 0;

  // 1부터 19까지 숫자를 순회 (1 포함, 20 미포함)
  for (int i = 1; i < 20; i++) {
    // 숫자가 2 또는 3으로 나누어 떨어지는지 확인
    if (i % 2 == 0 || i % 3 == 0) {
      // 숫자가 6으로 나누어 떨어지지 않는지 추가로 확인  - (ㄱ) 영역
      if (i % 6 != 0) {
        // 두 조건을 모두 만족하면 카운터를 증가  - (ㄴ) 영역
        count++;
      }
    }
  }

  // 2 또는 3으로 나누어지지만 6으로는 나누어지지 않는 숫자의 최종 개수를 출력
  printf("Count: %d\n", count);
  
  return 0;
}

 

범위를 어디까지인지 알려달라는 말씀은 괄호를 잘 보시면 됩니다.

수 많은 구문이 겹치다보면 괄호가 많아보여서 헷갈릴 수 있는데 차근차근 다음 구문까지 보시면 됩니다.

구문 안 부분을 주석으로 작성해두었습니다. 확인해주세요.

 

주석 중에 (ㄱ)영역 부분과 (ㄴ)영역 부분을 봐주세요.

(ㄱ) 부분은 i가 2로 나누어 떨어지거나 3으로 나누어 떨어지면 (둘 중에 하나라도 해당되면 참이 됩니다.) 저기 안으로 들어가게 됩니다.

그렇지 않으면? 아예 통과합니다. 통과한다는 얘기는 블럭 자체로 들어가지 않기 때문에, 다음 반복문으로 넘어갑니다.

왜 다음 반복문으로 넘어갈까요? 아직 for 전체 블럭이 해소되지 않았기 때문입니다.

지금 블럭의 구조는 이렇게 되어있습니다

for > if > (ㄱ) > if > (ㄴ)

첫번째 if문에 해당되지 않으니까, for에서 다음 반복으로 넘어가겠죠.


영역 설명은 대략적으로 드렸고, 반복문을 처음부터 살펴봅시다.

최초에 숫자 1이 왔습니다. 2로 나눠떨어지지 않고 3도 아니죠. 넘어갑니다.

그 다음에 2가 왔습니다. 어? 2로 나눠떨어지네요. if 1번을 통과하고 (ㄱ)의 영역으로 들어갑니다.

(ㄱ)의 영역에 들어가니까 이제 (ㄴ)의 영역에 들어가기 전에 if문이 또 있습니다.

두 번째 if문은 그 숫자가 6으로 나눴을 때 0 떨어지지 않는 경우에 참이 됩니다. (!=은 같지 않아야지 참이 됩니다.)

지금 2는 6으로 나눴을 때 나머지가 2입니다. 0하고 같지 않습니다. 그래서 참이 되어서 (ㄴ) 영역으로 들어가게 됩니다.

 

이렇게 처음 1부터 19까지 모두 진행합니다.

 

이해에 도움이 되셨을까요?

파이썬 추가 코드

0

14

1

배열 포인터 출력 표시

0

38

1

포인터 증감 또는 값 증감

0

33

1

배열 포인터 함수 관련

0

34

1

실기 이론 통합 요약본 버전

0

45

1

업캐스팅 3번 문제 예시

0

48

2

push pop 설명 되어있는 강의가 몇강인가요?

0

47

1

모의고사 파일오류

1

78

3

모의고사 다운

0

53

1

업캐스팅 원칙

0

66

2

6분46초

0

58

2

공략법

0

66

1

모의고사 파일과 이론파일 업데이트

1

76

3

이론 pdf 다운은 어디서 하나요?

0

72

2

13분 40초

0

66

2

정보처리기사 26년 실기 2회 네트워크 부분

0

78

2

기출문제 재탕

0

57

1

뻬먹은 코드

0

47

1

기출문제 재탕

0

37

0

모의고사1회 2번문제 뭔지 모르겠네요 강의올려주시면안될까요?

0

51

1

영상 다운로드는 안되나요?

0

81

1

26년2회 실기기출은 언제쯤...

0

128

2

이론 공부법 요약본 버전 업데이트 문의

0

110

2

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

115

2