• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

별찍기 질문드려요

24.03.22 23:06 작성 조회수 91

0

강의영상 8:40분쯤에 i + 1로 변경해서 쭉 출력이되었는데

이 부분이 이해가 잘 안됩니다 그 이유가 처음 초기값이

j = 0이고 i = 0인데 j변수 for문에서 j < i + 1을하면

0 < 0 + 1 즉 0 < 1이 되어서 한번실행되고 j++를 해주고

다시 처음 for문으로 와서 i++가 되어있는데 그럼 다시

j변수 for문에서 1 < 1 + 1이 될텐데 그럼 1 < 2인데 별 찍는 코드가 그럼 한번만 실행되는거 아닌가요? 2보다 작은 동안이니까

한번 실행되는거 같은데 왜 아닌지 궁금합니다

답변 2

·

답변을 작성해보세요.

0

j++을 해주고 다시 처음으로 돌아가는게 아니라
for (int j = 0; )... 요 라인에서 계속 뻉뺑이를 돌다 마치고 이어서
for (int i = 0)쪽으로 들어가게 됩니다.

킴주니님의 프로필

킴주니

질문자

2024.03.24

감사합니다 해결됐습니다!

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.22

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

킴주니님께서 질문하신 별찍기 및 반복문 관련하여 별찍기 문제에 대한 일반적인 이해를 돕기 위해, 유사한 질문에 대한 답변을 찾았습니다.

별찍기 문제에서의 for문 실행 순서와 조건식의 작동 원리를 이해하는 것이 핵심입니다. 특히, 조건식이 j < (입력값 - i) 형태로 설정된 문제에서는, i 값이 증가함에 따라 내부 for문(별을 찍는 반복문)이 실행되는 횟수가 어떻게 변하는지 이해하는 것이 중요합니다.

자세한 설명을 위해, 같은 강의 시리즈 내에서 이와 유사한 질문에 대해 답변된 링크를 공유드립니다.

이 링크의 답변에서는 for문의 실행 순서와 조건식이 어떻게 평가되는지에 대한 설명이 포함되어 있습니다. 별을 찍는 조건과 반복문이 어떻게 작동하는지에 대한 기본적인 이해를 돕기 위한 내용이 담겨있습니다.

질문에서 언급한 “j변수 for문에서 j < i + 1” 조건의 경우, N번째 줄에서는 N개의 별을 찍게 되는데, 이는 i의 값에 따라 j가 실행되는 범위가 결정됨을 의미합니다. 따라서 i가 0일 때 한 번, i가 1일 때 두 번 실행되며 이러한 방식으로 j < i + 1 조건은 별의 개수를 결정하는 데 사용됩니다.

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

킴주니님의 프로필

킴주니

질문자

2024.03.23

제가 궁금한건 첫째줄에 하나가 출력되는건 이해가되는데 2번째부터는 j < i+1인데 그러면 ++이되어서 1 < 1+1 즉 1 < 2인데 그러면 별이 한번만 찍히는거 아닌가요 아니면 <=를 해야 ** 이렇게 두번 출력되어야하는데 왜 2개개 출력되는지 이해가 안됩니다