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

김라영님의 프로필 이미지
김라영

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-O 부연설명

1-O 부연설명 강의에서 모듈러 연산이 이해가 잘 안됩니다

작성

·

241

0

안녕하세요 큰돌님 강의 잘 듣고 있습니다!

다름이 아니라 1-O 부연설명 강의에서

cnt = (cnt * 1) + 1cnt = (cnt % n * 10 % n) + 1이라고 말씀해주셨는데요!(1:02)

그 다음에 설명해주실 때

(a * b + c) % n(a % n * b + c) % n과 동일하다고 설명해주시더라구요ㅠㅠ

그래서 살짝 헷갈리는데

결국에는

(a * b + c) % n = (a % n * b + c) % n = (a % n * b + c % n) % n

이거인건가요?

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 라영님 ㅎㅎ

그 다음에 설명해주실 때

(a * b + c) % n(a % n * b + c) % n과 동일하다고 설명해주시더라구요ㅠㅠ

그래서 살짝 헷갈리는데

>> 이부분에서 a만 보시면 됩니다. a를 한번 모듈러 연산하는 것과 두번 모듈러 연산하는 것이 같은 값을 가진다라는 것입니다.

(a * b + c) % n = (a % n * b + c) % n = (a % n * b + c % n) % n

> > 네 맞습니다.




또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


0

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

김라영님의 질문과 관련하여, 모듈러 연산에 대한 이해를 돕기 위해 몇 가지 자료를 추천드립니다. 컨텐츠에서 언급된 모듈러 연산의 기본 원리와 사용 예시를 추가적으로 설명하였으니 도움이 될 것입니다.

모듈러 연산은 수학에서 특정 정수로 나눈 나머지를 다루는 연산입니다. 이 연산은 프로그래밍, 특히 알고리즘 문제 해결에서 상당히 중요한 역할을 합니다. 모듈러 연산의 핵심 속성은 분배법칙에 있으며, 이를 활용하여 연산 중 발생할 수 있는 오버플로를 방지하고, 계산 과정을 최적화할 수 있습니다.

질문에서 언급된 (a * b + c) % n = (a % n * b + c) % n = (a % n * b + c % n) % n에 대해 설명하자면, 모듈러 연산의 분배법칙에 따라 첫 번째 식과 두 번째 식은 동일하다고 볼 수 있습니다. 또한, 말씀하신 세 번째 식에 대해서도 약간의 수정이 필요하지만, 모듈러 연산의 핵심 개념에 따라 (a * b) % n = ( (a % n) * (b % n) ) % n과 같이 표현될 수 있습니다.

김라영님이 언급한 문제와 직접 관련해 설명하는 자료를 찾기는 어려웠으나, 모듈러 연산과 관련된 이해를 돕는 두 가지 자료를 추천해 드립니다:

  1. 모듈러 연산 설명 오류가 있는 것 같습니다!! - 이 답변에서는 모듈러 연산의 정확한 정의와 (a + b) % C = (a % C + b % C) % C가 정확한 표현임을 설명하고 있습니다.

  2. 1-O 의 코드가 직관적이지 않은 것 같습니다. - 여기서는 모듈러 연산과 관련된 코드의 동작 방식에 대한 질문과 그에 대한 답변을 확인하실 수 있습니다.

모듈러 연산을 이해하고 활용하는 것은 알고리즘 문제 해결에 있어 매우 중요합니다. 해당 특성을 이해하고 올바르게 적용하면 알고리즘의 효율성을 대폭 개선할 수 있습니다.

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

김라영님의 프로필 이미지
김라영

작성한 질문수

질문하기