μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- μ½λ©ν μ€νΈ
- JS
- c#
- λμ νλ‘κ·Έλλ°
- μκ³ λ¦¬μ¦
- BAEKJOON
- BFS
- μλ°μ€ν¬λ¦½νΈ
- λͺ»κ·Έλ¦¬μ§λ§
- ꡬν
- DART
- μ½λνΈλ¦¬
- νλ‘κ·Έλλ¨Έμ€
- μ€ν°λ
- μ΄μ§νμ
- μλ£κ΅¬μ‘°
- μΌμ±swμν
- JavaScript
- λ¬Έμμ΄ νμ±
- Flutter
- sort
- Java
- Algorithm
- DP
- νμ΄μ¬
- λ°±μ€
- programmers
- μ°μ ¨μμ
- μΉ΄μΉ΄μ€
- κ·Έλν νμ
- Today
- Total
Algo μ°μ
[Programmers]μ κ· μμ΄λ μΆμ² λ³Έλ¬Έ
μ κ· μμ΄λ μΆμ²
λ¬Έμ
μΉ΄μΉ΄μ€μ μ μ¬ν μ μ κ°λ°μ λ€μ€λ "μΉ΄μΉ΄μ€κ³μ κ°λ°ν"μ λ°°μΉλμ΄, μΉ΄μΉ΄μ€ μλΉμ€μ κ°μ νλ μ μ λ€μ μμ΄λλ₯Ό μμ±νλ μ 무λ₯Ό λ΄λΉνκ² λμμ΅λλ€. "λ€μ€"μκ² μ£Όμ΄μ§ 첫 μ 무λ μλ‘ κ°μ νλ μ μ λ€μ΄ μΉ΄μΉ΄μ€ μμ΄λ κ·μΉμ λ§μ§ μλ μμ΄λλ₯Ό μ λ ₯νμ λ, μ λ ₯λ μμ΄λμ μ μ¬νλ©΄μ κ·μΉμ λ§λ μμ΄λλ₯Ό μΆμ²ν΄μ£Όλ νλ‘κ·Έλ¨μ κ°λ°νλ κ²μ λλ€.
λ€μμ μΉ΄μΉ΄μ€ μμ΄λμ κ·μΉμ λλ€.
μμ΄λμ κΈΈμ΄λ 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λ κΈΈμ΄ 1 μ΄μ 1,000 μ΄νμΈ λ¬Έμμ΄μ λλ€.
new_idλ μνλ²³ λλ¬Έμ, μνλ²³ μλ¬Έμ, μ«μ, νΉμλ¬Έμλ‘ κ΅¬μ±λμ΄ μμ΅λλ€.
new_idμ λνλ μ μλ νΉμλ¬Έμλ -_.~!@#$%^&*()=+[{]}:?,<>/ λ‘ νμ λ©λλ€.
> 2021 KAKAO BLIND RECRUITMENT λ¬Έμ μ΄λ€.
κ° λ¨κ³λ³ 그리λ μκ³ λ¦¬μ¦μΌλ‘ ꡬννμλ€.
from collections import deque
def solution(new_id):
answer =''
# 1λ¨κ³ : μλ¬Έμ λ³ν
new_id = new_id.lower()
# 2λ¨κ³ : νΉμλ¬Έμ μ κ±°
for c in new_id:
if (97 <= ord(c) <= 122) or (48 <= ord(c) <= 57) or c == '-' or c == '_' or c == '.' :
answer += c
else :
continue
# 3λ¨κ³ : λ§μΉ¨ν μ€μ΄κΈ°
temp =''
dq = deque()
for c in answer:
if c == '.':
dq.append(c)
else :
if len(dq) > 0:
temp += dq.pop()
dq.clear()
temp += c
answer = temp
# 4λ¨κ³ : μ²μκ³Ό λ λ§μΉ¨ν μ κ±°
if len(answer) > 0 and answer[0] == '.' :
answer = answer[1:]
if len(answer) > 0 and answer[len(answer)-1] == '.':
answer = answer[:len(answer)-1]
# 5λ¨κ³ : λΉ λ¬Έμμ΄μ κ²½μ° aλ‘ μΉν
if answer == '':
answer = 'a'
# 6λ¨κ³ : κΈΈμ΄κ° 16μ μ΄μμ΄λΌλ©΄ 첫 15κ°μ λ¬Έμλ§ μΆμΆ
if len(answer) >= 16 :
answer = answer[0:15]
print(answer)
# 6-1λ¨κ³: λ§μΌ μ κ±° ν λ§μΉ¨νκ° λμ μλ€λ©΄ μ κ±°
if answer[len(answer)-1] == '.':
answer = answer[:len(answer)-1]
print(answer)
# 7λ¨κ³ : κΈΈμ΄κ° 2μ μ΄νλΌλ©΄, κΈΈμ΄κ° 3μ΄ λ λκΉμ§ λ§μ§λ§ λ¬Έμ λ°λ³΅
if len(answer) <= 2:
addChar = answer[len(answer)-1]
while len(answer) != 3 :
answer += addChar
# μ£Όμ: 리μ€νΈ μ¬λΌμ΄μ± μ¬μ©μ λ·κ΅¬κ° μ΄λ¦° ꡬκ°μΈ μ κΈ°μ΅νκΈ°.
return answer
- λ¨Όμ μΈμλ‘ λ€μ΄μ¨ λ¬Έμμ΄ μ€ λλ¬Έμλ₯Ό μλ¬Έμλ‘ λ³ν.
- νΉμλ¬Έμμ κ±°(ASCII μ΄μ©)
- λ§μΉ¨ν μ€μ΄κΈ°(replaceν¨μλ₯Ό μ΄μ©νλ€λ μκ°μ νμ§λͺ»ν΄μ μΌλ¨ dequeμλ£κ΅¬μ‘°λ₯Ό μ΄μ©ν΄ μ€νμ²λΌ μ¬μ©)
- μ²μκ³Ό λ λ§μΉ¨ν μ κ±°(arrange error λ°©μ§)
- λΉ λ¬Έμμ΄μ κ²½μ° aλ‘ μΉν
- κΈΈμ΄κ° 16μ μ΄μμ΄λΌλ©΄ μλΆλΆ 15κ°μ λ¬Έμμ΄ μΆμΆ
6-1. μΆμΆν κ°μ₯ λ λ¬Έμκ° λ§μΉ¨ν('.')λΌλ©΄ μ κ±° - κΈΈμ΄κ° 2κΈμ μ΄νλΌλ©΄, κΈΈμ΄κ° 3μ΄ λ λκΉμ§ λ§μ§λ§ λ¬Έμ λ°λ³΅
μ£Όμ :
리μ€νΈ μ¬λΌμ΄μ± μ¬μ©μ λ·κ΅¬κ°μ΄ μ΄λ¦° ꡬκ°μΈ μ μ νμ μμ§λ§μ(μ΄κ±° λλ¬Έμ μκ°μ΄ μ€λ κ±Έλ Έλ€μ.)
λ¬Έμ μΆμ² : νλ‘κ·Έλλ¨Έμ€ https://programmers.co.kr/
'π― CodingTest > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Programmers] μ«μ λ¬Έμμ΄κ³Ό μλ¨μ΄ (0) | 2022.04.09 |
---|---|
[Programmers] μ κ³ κ²°κ³Ό λ°κΈ° (0) | 2022.04.09 |
[Programmers]λΆμ‘±ν κΈμ‘ κ³μ°νκΈ° (0) | 2022.04.05 |
[Programmers]μ νλ²νΈ λͺ©λ‘ - ν΄μ (0) | 2022.04.05 |
[Programmers]μμ£Όνμ§ λͺ»ν μ μ - ν΄μ (0) | 2022.04.05 |