μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- λΉ λ°μ΄ν°
- ADsP
- opencv
- DBSCAN
- LDA
- μ£Όμ±λΆλΆμ
- ν¬λ‘€λ§
- Lambda
- λ°μ΄ν°λΆκ· ν
- μλν΄λΌμ°λ
- PCA
- λΉ λ°μ΄ν°λΆμκΈ°μ¬
- Python
- numpy
- t-test
- datascience
- ν μ€νΈλΆμ
- λ°μ΄ν°λΆμμ€μ λ¬Έκ°
- μΈλμνλ§
- λ°μ΄ν°λΆμ
- pandas
- νμ΄μ¬
- μ€λ²μνλ§
- λ°μ΄ν°λΆμμ λ¬Έκ°
- iloc
- λμνλ³Έ
- dataframe
- λ 립νλ³Έ
- κ΅°μ§ν
- ADP
Data Science LAB
[Python] νλ‘κ·Έλλ¨Έμ€ μ½λ©ν μ€νΈ μ°μ΅ level 1(μ κ· μμ΄λ μΆμ²) λ³Έλ¬Έ
[Python] νλ‘κ·Έλλ¨Έμ€ μ½λ©ν μ€νΈ μ°μ΅ level 1(μ κ· μμ΄λ μΆμ²)
γ γ γ γ 2022. 11. 6. 16:471. λ¬Έμ μ€λͺ
μΉ΄μΉ΄μ€μ μ
μ¬ν μ μ
κ°λ°μ λ€μ€λ "μΉ΄μΉ΄μ€κ³μ κ°λ°ν"μ λ°°μΉλμ΄, μΉ΄μΉ΄μ€ μλΉμ€μ κ°μ
νλ μ μ λ€μ μμ΄λλ₯Ό μμ±νλ μ
무λ₯Ό λ΄λΉνκ² λμμ΅λλ€. "λ€μ€"μκ² μ£Όμ΄μ§ 첫 μ
무λ μλ‘ κ°μ
νλ μ μ λ€μ΄ μΉ΄μΉ΄μ€ μμ΄λ κ·μΉμ λ§μ§ μλ μμ΄λλ₯Ό μ
λ ₯νμ λ, μ
λ ₯λ μμ΄λμ μ μ¬νλ©΄μ κ·μΉμ λ§λ μμ΄λλ₯Ό μΆμ²ν΄μ£Όλ νλ‘κ·Έλ¨μ κ°λ°νλ κ²μ
λλ€.
λ€μμ μΉ΄μΉ΄μ€ μμ΄λμ κ·μΉμ
λλ€.
- μμ΄λμ κΈΈμ΄λ 3μ μ΄μ 15μ μ΄νμ¬μΌ ν©λλ€.
- μμ΄λλ μνλ²³ μλ¬Έμ, μ«μ, λΉΌκΈ°(-), λ°μ€(_), λ§μΉ¨ν(.) λ¬Έμλ§ μ¬μ©ν μ μμ΅λλ€.
- λ¨, λ§μΉ¨ν(.)λ μ²μκ³Ό λμ μ¬μ©ν μ μμΌλ©° λν μ°μμΌλ‘ μ¬μ©ν μ μμ΅λλ€.
"λ€μ€"λ λ€μκ³Ό κ°μ΄ 7λ¨κ³μ μμ°¨μ μΈ μ²λ¦¬ κ³Όμ μ ν΅ν΄ μ κ· μ μ κ° μ λ ₯ν μμ΄λκ° μΉ΄μΉ΄μ€ μμ΄λ κ·μΉμ λ§λ μ§ κ²μ¬νκ³ κ·μΉμ λ§μ§ μμ κ²½μ° κ·μΉμ λ§λ μλ‘μ΄ μμ΄λλ₯Ό μΆμ²ν΄ μ£Όλ €κ³ ν©λλ€.
μ κ· μ μ κ° μ λ ₯ν μμ΄λκ° new_id λΌκ³ νλ€λ©΄,
1λ¨κ³ new_idμ λͺ¨λ λλ¬Έμλ₯Ό λμλλ μλ¬Έμλ‘ μΉνν©λλ€.
2λ¨κ³ new_idμμ μνλ²³ μλ¬Έμ, μ«μ, λΉΌκΈ°(-), λ°μ€(_), λ§μΉ¨ν(.)λ₯Ό μ μΈν λͺ¨λ λ¬Έμλ₯Ό μ κ±°ν©λλ€.
3λ¨κ³ new_idμμ λ§μΉ¨ν(.)κ° 2λ² μ΄μ μ°μλ λΆλΆμ νλμ λ§μΉ¨ν(.)λ‘ μΉνν©λλ€.
4λ¨κ³ new_idμμ λ§μΉ¨ν(.)κ° μ²μμ΄λ λμ μμΉνλ€λ©΄ μ κ±°ν©λλ€.
5λ¨κ³ new_idκ° λΉ λ¬Έμμ΄μ΄λΌλ©΄, new_idμ "a"λ₯Ό λμ ν©λλ€.
6λ¨κ³ new_idμ κΈΈμ΄κ° 16μ μ΄μμ΄λ©΄, new_idμ 첫 15κ°μ λ¬Έμλ₯Ό μ μΈν λλ¨Έμ§ λ¬Έμλ€μ λͺ¨λ μ κ±°ν©λλ€. λ§μ½ μ κ±° ν λ§μΉ¨ν(.)κ° new_idμ λμ μμΉνλ€λ©΄ λμ μμΉν λ§μΉ¨ν(.) λ¬Έμλ₯Ό μ κ±°ν©λλ€.
7λ¨κ³ new_idμ κΈΈμ΄κ° 2μ μ΄νλΌλ©΄, new_idμ λ§μ§λ§ λ¬Έμλ₯Ό new_idμ κΈΈμ΄κ° 3μ΄ λ λκΉμ§ λ°λ³΅ν΄μ λμ λΆμ λλ€.
μ κ· μ μ κ° μ λ ₯ν μμ΄λλ₯Ό λνλ΄λ new_idκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, "λ€μ€"κ° μ€κ³ν 7λ¨κ³μ μ²λ¦¬ κ³Όμ μ κ±°μΉ νμ μΆμ² μμ΄λλ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.
2. μ ν 쑰건
new_idλ κΈΈμ΄ 1 μ΄μ 1,000 μ΄νμΈ λ¬Έμμ΄μ λλ€.
new_idλ μνλ²³ λλ¬Έμ, μνλ²³ μλ¬Έμ, μ«μ, νΉμλ¬Έμλ‘ κ΅¬μ±λμ΄ μμ΅λλ€.
new_idμ λνλ μ μλ νΉμλ¬Έμλ
-_.~!@#$%^&*()=+[{]}:?,<>/
λ‘ νμ λ©λλ€.
3. λ΄ νμ΄
import re
def solution(new_id):
answer = new_id.lower()
answer = re.sub('[^a-zA-Z0-9-_.]','',answer)
answer = re.sub('(([.])\\2{1,})', '.', answer)
if answer[0] == '.':
answer = answer[1:] if len(answer) > 1 else '.'
if answer[-1] == '.':
answer = answer[:-1]
if answer == '':
answer = 'a'*3
answer = answer[:15]
if answer[-1] == '.':
answer = answer[:-1]
if len(answer) <= 3:
answer += answer[-1] * (3-len(answer))
return answer
1. λͺ¨λ λ¬Έμμ΄μ μλ¬Έμλ‘ λ³ν
2. μ κ·μμ μ΄μ©νμ¬ μ«μμ ['-', '_', '.'] μ μ μΈν λͺ¨λ νΉμλ¬Έμ μ κ±°
3. 첫κΈμμ λ λ¬Έμκ° λ§μΉ¨ν ('.')λ‘ λλλ κ²½μ° μ κ±° (λ¨, λ¬Έμμ΄μ λ§μΉ¨ν νλλ§ μ‘΄μ¬νλ κ²½μ°λ₯Ό κ³ λ €νμ¬ if else μΆκ°)
4. λ¬Έμμ΄μ΄ κ³΅λ°±μΈ κ²½μ° 'aaa'λ‘ λ³ν
5. λ¬Έμμ΄μ μ΅λ κΈΈμ΄λ 15 μ΄λ―λ‘ λͺ¨λ λ¬Έμμ΄μ 15κΉμ§λ§ λ°ν
6. λ¬Έμμ΄μ λ λ¬Έμκ° λ€μ λ§μΉ¨νκ° λ κ²½μ°λ₯Ό κ³ λ €νμ¬ λλ¬Έμκ° λ§μΉ¨νμΈ κ²½μ° λλ¬Έμ μ κ±°
7. λ¬Έμμ΄μ΄ 3λ³΄λ€ μμ κ²½μ° λ¬Έμμ΄μ λ§μ§λ§ κΈμλ₯Ό μΆκ°νμ¬ μ΅μ’ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 3μΌλ‘ λ³ν
4. λ€λ₯Έ μ¬λμ νμ΄
import re
def solution(new_id):
st = new_id
st = st.lower()
st = re.sub('[^a-z0-9\-_.]', '', st)
st = re.sub('\.+', '.', st)
st = re.sub('^[.]|[.]$', '', st)
st = 'a' if len(st) == 0 else st[:15]
st = re.sub('^[.]|[.]$', '', st)
st = st if len(st) > 2 else st + "".join([st[-1] for i in range(3-len(st))])
return st