inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

정수론 24분대 강의내용

해결된 질문

627

김동찬

작성한 질문수 5

1

24분14초 2의 제곱수로 나뉘어지는 약수를 찾아 더할때 왜 모든숫자들을 +1한상태로 봐야만 하는지 이유를 모르겠습니다

python 코딩-테스트 알고리즘

답변 1

0

코딩 센세

질문 해 주셔서 감사합니다!

 

모든 숫자는 2**0(2의 0제곱), 1로 나누어지기 때문입니다!

2의 0제곱(1)으로 나누어지는가? 를 확인하고, ( 1로 나누어지지 않는 수는 없으니 모두 처음에 1로 설정 )

2의 1제곱(2)로 나누어지는가? 를 확인하고,

2의 2제곱(4)로 나누어지는가? 를 확인해가면서 정답을 찾아 나가는 과정을 설명하고 있습니다 :)

 

그래서 처음에 모든 숫자는 1로 나누어지니 범위*1을 정답에 미리 더해줘서 해당 경우를 제외시켜 두고,

2로 나누어지면 1 더해주기 ( 2가됨 ) 1 -> 2

4로 나누어지면 2 더해주기 ( 4가됨 ) 2 -> 4

8로 나누어지면 4 더해주기 ( 8이됨 ) 4 -> 8

....

순서대로 연산해서

모든 홀수는 +1을 하게 되고

1 이외의 2의 제곱수로 나누어 지는 숫자들은 +"해당 2의 제곱수" 가 되어서 정답이 나오게 되는 것 입니다!

0

코딩 센세

해당 부분의 보충 강의를 추가해서 정수론 재 업로드 했습니다! 도움 주셔서 감사합니다 :)

아래 메일로 연락 주시면 무료 수강권 전달 드리겠습니다 :D! 감사합니다!

sonjungwoo9@gmail.com

dp[x]가 최대값이라고 확신할수 있는 이유

0

45

1

1090번 문제 질문

0

150

1

유니온파인드

0

112

1

투포인터 25:15 질문

1

129

1

#1090번 문제 반례가 궁금합니다.

0

148

1

예제코드 자바입니다

1

186

1

정수론 파트 #2247 문제에 대한 질문입니다!

0

102

0

코드 오류

0

185

1

2강 정수론 문제3 #1407 질문

0

127

0

이차원 배열 (int형)dp로 0 혹은 -1로 체크하는 방법 말고 boolean형 배열로 체크해서 바로 리턴해줄 수 없나요?

0

154

0

1717번 최적화

0

112

0

백준 22988 문제 질문

1

193

2

[Python] 백준 1090번 문제

1

226

3

강의자료에서

1

162

2

2503 문제 제한 조건 질문!

1

249

2

백준 22988 번 문제

1

193

1

추가 강의 순서

1

180

2

(*문제 풀이)1090 테스트케이스 1번 C++

1

221

2

7강 RGB 색칠하기 질문 있습니다.

1

161

2

정수론 약수 빠르게 구하기 질문

1

257

1

1090 문제의 2, 3번째 아이디어는 결국 같은거 아닌가요?

1

374

2

1090 문제 관련하여 맨해튼 거리 최솟값에 대해 질문 있습니다.

1

223

2

누적합 문제 3번 질문

1

216

2

기억 ( 누적합 ) 강의 11660 문제

1

163

2