μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- λ°μ΄ν°λΆκ· ν
- PCA
- ADsP
- μλν΄λΌμ°λ
- λμνλ³Έ
- ADP
- λ 립νλ³Έ
- datascience
- νμ΄μ¬
- ν¬λ‘€λ§
- λ°μ΄ν°λΆμμ λ¬Έκ°
- pandas
- κ΅°μ§ν
- μΈλμνλ§
- ν μ€νΈλΆμ
- dataframe
- Lambda
- Python
- λ°μ΄ν°λΆμ
- numpy
- opencv
- μ€λ²μνλ§
- μ£Όμ±λΆλΆμ
- DBSCAN
- iloc
- λΉ λ°μ΄ν°
- LDA
- λΉ λ°μ΄ν°λΆμκΈ°μ¬
- λ°μ΄ν°λΆμμ€μ λ¬Έκ°
- t-test
Data Science LAB
[Python] νλ‘κ·Έλλ¨Έμ€ μ½λ©ν μ€νΈ μ°μ΅ level 2 (kμ§μμμ μμ κ°μ ꡬνκΈ°) λ³Έλ¬Έ
[Python] νλ‘κ·Έλλ¨Έμ€ μ½λ©ν μ€νΈ μ°μ΅ level 2 (kμ§μμμ μμ κ°μ ꡬνκΈ°)
γ γ γ γ 2022. 10. 31. 23:401. λ¬Έμ μ€λͺ
μμ μ μ nμ΄ μ£Όμ΄μ§λλ€. μ΄ μ«μλ₯Ό kμ§μλ‘ λ°κΏ¨μ λ, λ³νλ μ μμ μλ 쑰건μ λ§λ μμ(Prime number)κ° λͺ κ°μΈμ§ μμλ³΄λ € ν©λλ€.
- 0P0μ²λΌ μμ μμͺ½μ 0μ΄ μλ κ²½μ°
- P0μ²λΌ μμ μ€λ₯Έμͺ½μλ§ 0μ΄ μκ³ μΌμͺ½μλ μ무κ²λ μλ κ²½μ°
- 0Pμ²λΌ μμ μΌμͺ½μλ§ 0μ΄ μκ³ μ€λ₯Έμͺ½μλ μ무κ²λ μλ κ²½μ°
- Pμ²λΌ μμ μμͺ½μ μ무κ²λ μλ κ²½μ°
- λ¨, Pλ κ° μλ¦Ώμμ 0μ ν¬ν¨νμ§ μλ μμμ
λλ€.
- μλ₯Ό λ€μ΄, 101μ Pκ° λ μ μμ΅λλ€.
μλ₯Ό λ€μ΄, 437674μ 3μ§μλ‘ λ°κΎΈλ©΄ 211020101011μ λλ€. μ¬κΈ°μ μ°Ύμ μ μλ 쑰건μ λ§λ μμλ μΌμͺ½λΆν° μμλλ‘ 211, 2, 11μ΄ μμΌλ©°, μ΄ 3κ°μ λλ€. (211, 2, 11μ kμ§λ²μΌλ‘ 보μμ λκ° μλ, 10μ§λ²μΌλ‘ 보μμ λ μμμ¬μΌ νλ€λ μ μ μ£Όμν©λλ€.) 211μ P0 ννμμ μ°Ύμ μ μμΌλ©°, 2λ 0P0μμ, 11μ 0Pμμ μ°Ύμ μ μμ΅λλ€.
μ μ nκ³Ό kκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. nμ kμ§μλ‘ λ°κΏ¨μ λ, λ³νλ μ μμμ μ°Ύμ μ μλ μ 쑰건μ λ§λ μμμ κ°μλ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.
2. μ ν 쑰건
- 1 ≤ n ≤ 1,000,000
- 3 ≤ k ≤ 10
3. λ΄ νμ΄
- 첫 λ²μ§Έ μλ (μ νλ : 88.1)
import string
tmp = string.digits+string.ascii_lowercase
def convert(num, base) :
q, r = divmod(num, base)
if q == 0 :
return tmp[r]
else :
return convert(q, base) + tmp[r]
def is_prime_number(x):
for i in range(2, x):
if x % i == 0:
return False
return True
def solution(n, k):
answer = 0
num = convert(n,k).split('0')
for i in num:
try:
if int(i) >= 2 and is_prime_number(int(i)):
answer += 1
except:
pass
return answer
1. μ«μλ₯Ό kμ§μλ‘ λ³νν΄μ£Όλ ν¨μ μμ±
2. μμ νλ³ ν¨μ μμ±
3. nμ kμ§μλ‘ λ³νν 0μ κΈ°μ€μΌλ‘ λλμ΄ λ¦¬μ€νΈ μμ±
4. 리μ€νΈμ μμκ° μμμ΄λ©΄ answer + 1 νμ¬ μ΄ μμμ κ°μλ₯Ό λ°ν
(ν μ€νΈ μΌμ΄μ€ 1λ² μκ° μ΄κ³Ό)
import math
# μμ νλ³
def primenumber(x):
for i in range (2, int(math.sqrt(x) + 1)):
if x % i == 0:
return False
return True
def solution(n, k):
answer = 0
tmp = ''
if k != 10:
while n:
tmp += str(n%k)
n = n//k
tmp = tmp[::-1]
else:
tmp = str(n)
tmp_list = tmp.split('0')
tmp_list = [x for x in tmp_list if x]
for i in tmp_list:
if int(i) >= 2 and primenumber(int(i)):
answer += 1
return answer
1. μμ νλ³ ν¨μλ₯Ό μ κ³±κ·ΌκΉμ§λ§ κ³μ°νλ ν¨μλ‘ λ³κ²½
2. kμ§μ λ³ν : kκ° 10μ΄ μλ κ²½μ° forλ¬Έμ μ¬μ©νμ¬ nμ kλ‘ λλκ³ , λλ¨Έμ§λ₯Ό tmpμ μΆκ°νλ λ°©μ μ¬μ©
-> λ°°μ΄μ κ±°κΎΈλ‘ νμ¬ μ΅μ’ tmp
3. kκ° 10μΈ κ²½μ°μλ κ·Έλλ‘ n μ¬μ©
4. tmpλ₯Ό 0μ κΈ°μ€μΌλ‘ λΆν ν 곡백 μ κ±°νμ¬ λ¦¬μ€νΈ λ°ν
5. 리μ€νΈ λ΄μ μ«μκ° 2 μ΄μμ΄κ³ μμμΈ κ²½μ°μλ§ answer + 1
4. λ€λ₯Έ μ¬λ νμ΄
# nμ kμ§λ²μΌλ‘ λνλΈ λ¬Έμμ΄ λ°ν
def conv(n, k):
s = ''
while n:
s += str(n%k)
n //= k
return s[::-1]
# nμ΄ μμμΈμ§ νμ
def isprime(n):
if n <= 1: return False
i = 2
while i*i <= n:
if n%i == 0: return False
i += 1
return True
def solution(n, k):
s = conv(n,k)
cnt = 0
for num in s.split('0'):
if not num: continue # λΉ λ¬Έμμ΄μ λν μμΈμ²λ¦¬
if isprime(int(num)): cnt += 1
return cnt
1. nμ kμ§λ²μΌλ‘ λ³ννμ¬ λ¬Έμμ΄λ‘ λ°ν
2. μμμΈμ§ νλ³νλ ν¨μ μμ± (1μΈ κ²½μ° False λ°ν)
3. kμ§λ²μΌλ‘ λ³νλ λ¬Έμμ΄μ 0μ κΈ°μ€μΌλ‘ λΆννκ³ , λΉ λ¬Έμμ΄μ λν μμΈμ²λ¦¬λ₯Ό ν λ€, μμμΈ κ²½μ° +1