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

YS님의 프로필 이미지
YS

작성한 질문수

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

최적화 (정수론) - ( 난이도 ⭐️⭐️⭐️⭐️⭐️ , 스킵하셔도 괜찮습니다. )

정수론 백준 1407번 질문 있습니다.

해결된 질문

작성

·

470

1

안녕하세요.

정수론 2로 몇번 나눠질까(#1407) 부분을 수강 하면서 궁금한 점을 질문드립니다.

해당 문제를 접근할 때 팩토리얼로 푸시는 것을 볼 수있었습니다. 해당 문제 자체에는 팩토리얼에 대한 설명은 없었는데, 어떻게 팩토리얼을 떠올릴 수 있으셨는지 궁금합니다.

 

해당 문제와 비슷하게 출제가 되었을 때 접근 방법이 궁금합니다.

#2247도 같은 카테고리로 넣어두셔서 같은 접근 방법인가 싶은데, 해당 문제도 접근법이 궁금합니다. (어떤 단어나 부분에서 이 문제는 이렇게 풀어야겠다고 느끼시는 건지 궁금합니다.)

답변 1

0

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

너무 좋은 질문 감사합니다!!

 

정수론은 정답이 되는 아이디어를 미리 알고 있는 상태에서만 풀이가 가능합니다!

팩토리얼을 이용한 N이 몇 번 반복 되는지 확인하는 방법을 제가 알고 있는 상태이기 때문에, 해당 문제를 보고 팩토리얼 아이디어를 떠올릴 수 있는 것이죠 :)

 

정답에 필요한 핵심적인 아이디어를 알고 있어야만 풀 수 있는 문제들이 있는데, 정수론도 그 중 하나 이며 Well-Known문제 중에 많이 있습니다.

 

#2247도 똑같은 방법으로 풀이가 가능하며, 한 번 직접 풀어 보시는 걸 추천 드립니다! ( 해보시고 어려우시면 답글 달아주세요! )

 

어떤 단어나 부분을 보고 유추하기 보다는 그냥 정답이 되는 핵심 아이디어를 알고 있다면, 문제 출제자의 의도가 보이기 시작합니다.

 

문제 출제자는 아래의 순서대로 아마도 문제를 만들 것입니다.

  1. 사용될 핵심 아이디어를 정한다.

  2. 단어를 바꾸거나, 그림으로 바꾸거나, 어려운 말들로 핵심 아이디어를 유추할 수 없게 숨긴다.

 

그럼 저희는 역순으로 풀어주면 되는거죠.

  1. 단어, 그림, 어려운 말들 속에 숨겨진 핵심 아이디어를 찾는다.

  2. 핵심 아이디어를 바탕으로 코드를 작성한다.

YS님의 프로필 이미지
YS
질문자

빠른 답변 감사합니다!

#2247도 풀어서 성공은 했으나 찾아보니 증명을 이용한 방법도 따로 있더라구요, 그 방법은 ... 추후에 다시 이해 해보고 풀기로 했습니다. 😂

반복하다 보면 출제자의 의도가 보이겠죠! 그때까지 열심히 공부하겠습니다. 좋은 강의 올려주셔서 감사합니다~!

YS님의 프로필 이미지
YS

작성한 질문수

질문하기