μ½λ© ν μ€νΈ μ°μ΅ - Summer/Winter Coding(~2018)
<μμ΄ λλ§μκΈ°>
λ¬Έμ μ€λͺ
1λΆν° nκΉμ§ λ²νΈκ° λΆμ΄μλ nλͺ μ μ¬λμ΄ μμ΄ λλ§μκΈ°λ₯Ό νκ³ μμ΅λλ€. μμ΄ λλ§μκΈ°λ λ€μκ³Ό κ°μ κ·μΉμΌλ‘ μ§νλ©λλ€.
1. 1λ²λΆν° λ²νΈ μμλλ‘ ν μ¬λμ© μ°¨λ‘λλ‘ λ¨μ΄λ₯Ό λ§ν©λλ€.
2. λ§μ§λ§ μ¬λμ΄ λ¨μ΄λ₯Ό λ§ν λ€μμλ λ€μ 1λ²λΆν° μμν©λλ€.
3. μμ¬λμ΄ λ§ν λ¨μ΄μ λ§μ§λ§ λ¬Έμλ‘ μμνλ λ¨μ΄λ₯Ό λ§ν΄μΌ ν©λλ€.
4. μ΄μ μ λ±μ₯νλ λ¨μ΄λ μ¬μ©ν μ μμ΅λλ€.
5. ν κΈμμΈ λ¨μ΄λ μΈμ λμ§ μμ΅λλ€.
λ€μμ 3λͺ μ΄ λλ§μκΈ°λ₯Ό νλ μν©μ λνλ λλ€.
tank → kick → know → wheel → land → dream → mother → robot → tank
μ λλ§μκΈ°λ λ€μκ³Ό κ°μ΄ μ§νλ©λλ€.
- 1λ² μ¬λμ΄ μμ μ 첫 λ²μ§Έ μ°¨λ‘μ tankλ₯Ό λ§ν©λλ€.
- 2λ² μ¬λμ΄ μμ μ 첫 λ²μ§Έ μ°¨λ‘μ kickμ λ§ν©λλ€.
- 3λ² μ¬λμ΄ μμ μ 첫 λ²μ§Έ μ°¨λ‘μ knowλ₯Ό λ§ν©λλ€.
- 1λ² μ¬λμ΄ μμ μ λ λ²μ§Έ μ°¨λ‘μ wheelμ λ§ν©λλ€.
- (κ³μ μ§ν)
λλ§μκΈ°λ₯Ό κ³μ μ§νν΄ λκ°λ€ 보면, 3λ² μ¬λμ΄ μμ μ μΈ λ²μ§Έ μ°¨λ‘μ λ§ν tankλΌλ λ¨μ΄λ μ΄μ μ λ±μ₯νλ λ¨μ΄μ΄λ―λ‘ νλ½νκ² λ©λλ€.
μ¬λμ μ nκ³Ό μ¬λλ€μ΄ μμλλ‘ λ§ν λ¨μ΄ words κ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, κ°μ₯ λ¨Όμ νλ½νλ μ¬λμ λ²νΈμ κ·Έ μ¬λμ΄ μμ μ λͺ λ²μ§Έ μ°¨λ‘μ νλ½νλμ§λ₯Ό ꡬν΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- λλ§μκΈ°μ μ°Έμ¬νλ μ¬λμ μ nμ 2 μ΄μ 10 μ΄νμ μμ°μμ λλ€.
- wordsλ λλ§μκΈ°μ μ¬μ©ν λ¨μ΄λ€μ΄ μμλλ‘ λ€μ΄μλ λ°°μ΄μ΄λ©°, κΈΈμ΄λ n μ΄μ 100 μ΄νμ λλ€.
- λ¨μ΄μ κΈΈμ΄λ 2 μ΄μ 50 μ΄νμ λλ€.
- λͺ¨λ λ¨μ΄λ μνλ²³ μλ¬Έμλ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
- λλ§μκΈ°μ μ¬μ©λλ λ¨μ΄μ λ»(μλ―Έ)μ μ κ²½ μ°μ§ μμΌμ λ λ©λλ€.
- μ λ΅μ [ λ²νΈ, μ°¨λ‘ ] ννλ‘ return ν΄μ£ΌμΈμ.
- λ§μ½ μ£Όμ΄μ§ λ¨μ΄λ€λ‘ νλ½μκ° μκΈ°μ§ μλλ€λ©΄, [0, 0]μ return ν΄μ£ΌμΈμ.
λ¬Έμ νμ΄
-my solution
def solution(n, words):
answer = []
temp=words[0][-1] #첫λ²μ§Έ λ¨μ΄μ λ λ¬Έμ
for i in range(1,len(words)):
forward=words[i][0] #λ€μ λ¨μ΄μ 첫 λ¬Έμ
tempwords=words[0:i+1] #μ€λ³΅ νμΈμ μν΄ listμ μ μ₯
if(tempwords.count(words[i])>1): #μ€λ³΅μ΄ μλ€λ©΄
answer.append(i%n+1) #λ²νΈ
answer.append(i//n+1) #μ°¨λ‘
break
if(forward!=temp): #첫 λ¬Έμμ λ λ¬Έμκ° κ°μ§ μλ€λ©΄
answer.append(i%n+1) #λ²νΈ
answer.append(i//n+1) #μ°¨λ‘
break
temp=words[i][-1] #λ λ¬Έμλ₯Ό νμ¬ λ¨μ΄μ λ λ¬Έμλ‘ λ°κΏμ€
if(len(answer)==0): #listμ κΈΈμ΄κ° 0μ΄λ©΄ νλ½μ μμ
answer.append(0)
answer.append(0)
return answer
μ²μμ μ΄ μ½λλ₯Ό μμ±νκ³ μκ° μ΄κ³Όκ° λ°μν κΉλ΄ μ‘°λ§μ‘°λ§νμλ€. λ€νν μκ° μ΄κ³Όλ λ°μνμ§ μκ³ ,
ν μ€νΈ μΌμ΄μ€ 3λ¬Έμ μμ μ€ν¨κ° λ°μνμλ€. μμΈ μν©μ΄ μ΄λ€ κ²μ΄ μ‘΄μ¬νλμ§ μ΄ν΄λ³Έ κ²°κ³Ό μ€λ³΅ λ¨μ΄λ₯Ό
νμΈν λ μμ μ μμ μμμ λ§ν κ²λ€κ³Ό λΉκ΅ν΄μΌ νλλ° μ 체 listμ λν΄ μ€λ³΅μ νλ³νμ¬ μ€ν¨κ° λ°μνλ€λ
κ²μ μκ² λμλ€. μ΄ λΆλΆμ λνμ¬ μμΈ μ½λλ₯Ό μμ±ν΄μ£Όλ λ¬Έμ λ₯Ό ν΅κ³Όν μ μμλ€.
1) list 맨 μ²μ λ¨μ΄μ λ λ¬Έμλ§ μ μ₯
2) list μν (λλ²μ§Έ λ¨μ΄λΆν°)
2-1) λ¨μ΄μ 첫 λ¬Έμλ₯Ό μ μ₯
2-2) λ¨μ΄μ μ€λ³΅ νμΈμ μν΄ νμ¬ μΈλ±μ€κΉμ§μ λ¬Έμλ€λ§ λ°λ‘ listμ μ μ₯νμ¬
μ€λ³΅ νλ³ -> μ€λ³΅μ΄ μλ€λ©΄ λ²νΈμ μ°¨λ‘λ₯Ό answer listμ μΆκ°ν ν μ€μ§
2-3) 첫 λ¬Έμμ λ λ¬Έμκ° κ°μ§ μλ€λ©΄ -> νλ½μ λ°μ(λ²νΈ, μ°¨λ‘ answer listμ μΆκ° ν μ€μ§)
2-4) νμ¬ μΈλ±μ€μ λ¨μ΄μ λ λ¬Έμμ λ€μ λ¨μ΄μ 첫 λ¬Έμλ₯Ό λΉκ΅ μν΄ νμ¬ μΈλ±μ€ λ¨μ΄μ λ λ¬Έμ μ μ₯
3) answer listμ κΈΈμ΄κ° 0μ΄λ©΄ -> νλ½μκ° μμ (0,0μ answer listμ μΆκ°)
μΆμ²: νλ‘κ·Έλλ¨Έμ€ μ½λ© ν μ€νΈ μ°μ΅, https://programmers.co.kr/learn/challenges
'πAlgorithm > π₯programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [programmers] [1μ°¨] λ΄μ€ ν΄λ¬μ€ν°λ§ - 2018 KAKAO BLIND RECRUITMENT (0) | 2021.01.19 |
|---|---|
| [programmers] [1μ°¨] μΊμ - 2018 KAKAO BLIND RECRUITMENT (0) | 2021.01.19 |
| [programmers] μ§μ§μ΄ μ κ±°νκΈ° - 2017 νμ€νμ΄ (0) | 2021.01.11 |
| [programmers] μ΄μ§ λ³ν λ°λ³΅νκΈ° - μκ° μ½λ μ±λ¦°μ§ μμ¦1 (0) | 2021.01.11 |
| [programmers] μμ° - Summer/Winter Coding(~2018) (1) | 2021.01.11 |