-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
31-9kyo-hwang #120
31-9kyo-hwang #120
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ λ²μ μ΄ λ°©λ²μ λ€μ μ μ©νλ κ² μ λ§ μ’μ κ²κ°μμ!! μ λ λ€μν λ¬Έμ λ₯Ό νμ΄λ³΄κ³ λ°°μ°λ©΄μ μ μ νκ² μ μ°λ κ±Έ μ°μ΅ν΄μΌ ν κ² κ°μμπΆπ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ν λ¬Έμ λ λ€μν μκ³ λ¦¬μ¦μΌλ‘ ν μ μκ΅°μ.
μ λ λ¬Έμ λ₯Ό λ΄€μ λ, μ΄λ€ μκ³ λ¦¬μ¦μΌλ‘ νμ΄μΌ νλμ§ νμ€νκ² μμ§ λͺ»νλ€μ...π
μλ§λ λ λ§μ λ¬Έμ λ₯Ό νμ΄λ΄μΌ ν κ² κ°μ΅λλ€!
볡μ‘ν λ¬Έμ λ₯Ό λ³΄λ€ κ°λ¨νκ² μ½λλ‘ μ§μλ κ²λ μ§μ§ λλ¨νμ κ² κ°μμ!ππ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ λ μ΄μνκ²? νΌ κ²½μ° μ€ νλμΈ κ² κ°μμ.
μ²μμ BFSλ DFSλ‘ μ κ·Όνλ €λ€κ° μ μ¨λ λ κ² κ°μμ λ λ€ μλνλλ° λλ€μ
κΈ°λκΈ΄ μ μ λ¬Έμ νμ΄...
( λ¨μ νμκ° νμμ΄κ±°λ κ°μΌνλ κ±°λ¦¬λ³΄λ€ λ© λ impossible
μ λ°ννκ³ κ°λ₯ν κ²½μ° μλ μ€λͺ
μ§ν )
μΌλ¨ μ΅μ μ΄λμΌλ‘ ν μ§μ μμ μ§μ κΉμ§ κ°λ λ°©λ²μ μ’νμ μ°¨λ₯Ό μ΄μ©νμ¬ μ½κ² μ μ μμ΅λλ€.
μ΄μ λ¨μ νμλμ λ°λ³΅νλ κ²μ λ§μ κ³ λ―Όμ νμλλ°
λ¬Έμμ΄ μμκΉμ§ μκ°νλ©΄ 4κ°μ§ λ°λ³΅ν μ μλ κ²½μ°κ° λμ΅λλ€.
du, lr, rl, ud
rl, udλ λ λΉ λ₯Έ λ¬Έμκ° λ€μ μκΈ° λλ¬Έμ λ°λ³΅ν΄μΌ ν©λλ€.
rlrlrlrl μ΄λ udududμ²λΌ λ§μ΄μ£ .
κ·Έμ λΉν΄, duλ lrμ κ²½μ°μλ λΆλ¦¬ μμΌμΌ μλ―Έκ° μμ΅λλ€.
dddduuuuλλ llllrrrr μ²λΌμ.
dμ lμ μ΅λ μ°μμΌλ‘ λμ¬ μ μλ νμκ° μ€μν©λλ€.
more_dμ more_lμ΄ μ£Όμ΄μ§ λ―Έλ‘μ ν¬κΈ°μ μμ μμΉ, μ΄μ μ ꡬν μ΅μ μ΄λ νμλ₯Ό κ°μ Έμ λ μ°μμΌλ‘ μΈ μ μλ νμλ₯Ό ꡬν κ² μ λλ€.
more_d λ§νΌ dμ uλ₯Ό κ°κ° μ¬λ €μ£Όκ³ , λ€μμ more_l, λ§μ§λ§μΌλ‘ λ¨μ νμλ 'rl'μ μΆκ°ν΄μ£Όλ©΄ λ©λλ€.
λ―Έλ‘μ ν¬κΈ°κ° 2 μ΄μμΌλ‘ μ£Όμ΄μ§κΈ° λλ¬Έμ udλ₯Ό νμ§ μμλ rlμμ μΆ©λΆν λλΌ μ μμ΅λλ€.
κ·Έλ κ² λ§μ§λ§μΌλ‘ κ²°κ³Όλ₯Ό joinμ μ΄μ©νμ¬ λΆμ¬μ μΆλ ₯ν΄μ€¬μ΅λλ€.
μ‘°κ±΄λ¬Έλ§ μ¬μ©ν νμ΄
def solution(n, m, x, y, r, c, k):
offset = ['d', 'l', 'rl', 'r', 'u']
cnt = [0 for _ in range(5)]
x_gap = x-r
y_gap = y-c
dist = abs(x_gap) + abs(y_gap)
left = k-dist
if left%2 or left<0:
return("impossible")
if x_gap > 0:
cnt[4] += x_gap
else:
cnt[0] -= x_gap
if y_gap > 0:
cnt[1] += y_gap
else:
cnt[3] -= y_gap
left //= 2
more_d = n-x-cnt[0]
more_l = y-1-cnt[1]
if left > more_d:
cnt[0] += more_d
cnt[4] += more_d
left -= more_d
else:
cnt[0] += left
cnt[4] += left
return("".join(s*c for s,c in zip(offset, cnt)))
if left > more_l:
cnt[1] += more_l
cnt[3] += more_l
left -= more_l
else:
cnt[1] += left
cnt[3] += left
return("".join(s*c for s,c in zip(offset, cnt)))
cnt[2] += left
return("".join(s*c for s,c in zip(offset, cnt)))
μλ§ μ΄λ° λ°©λ²μ λ¬Έμκ° μ ν΄μ ΈμκΈ°λ νκ³ , μ£Όμ΄μ§ λ¬Έμλ‘ μκ°ν΄μΌνλ κ²½μ°μ μκ° μ μ΄μ κ°λ₯νλ κ² κ°μ΅λλΉ...
π λ¬Έμ λ§ν¬
2023 KAKAO BLIND RECRUITMENT λ―Έλ‘ νμΆ λͺ λ Ήμ΄
βοΈ μμλ μκ°
κ±°μ 3μκ°?
β¨ μλ μ½λ
1. λ¬Έμ
n x m 격μ λ―Έλ‘μμ, (x, y)μμ μΆλ°ν΄ (r, c)λ‘ μ΄λν΄μΌ νλ€. λ¨,
μλ₯Ό λ€μ΄ λ€μκ³Ό κ°μ΄ 3 x 4 격μκ° μλ€κ³ κ°μ ν΄λ³΄μ.
λ―Έλ‘μ μ’μΈ‘ μλ¨μ (1, 1)μ΄κ³ μ°μΈ‘ νλ¨μ (3, 4)μ΄λ€. .μ λΉ κ³΅κ°, Sλ μΆλ° μ§μ , Eλ νμΆ μ§μ μ μλ―Ένλ€.
μ΄λ κ²½λ‘λ₯Ό λ€μκ³Ό κ°μ΄ λ¬Έμμ΄λ‘ λ°κΏ μ μλ€κ³ ν λ,
μ΄λν΄μΌ νλ 거리 kκ° 5λΌλ©΄ λ€μκ³Ό κ°μ κ²½λ‘λ‘ νμΆν μ μλ€.
μ΄λ dllrlλ³΄λ€ μ¬μ μμΌλ‘ λΉ λ₯Έ κ²½λ‘λ‘ νμΆν μλ μμΌλ―λ‘, "dllrl"μ return νλ€.
λ§μ½ μ 쑰건λλ‘ λ―Έλ‘λ₯Ό νμΆν μ μλ κ²½μ° "impossible"μ return νλ€.
2. νμ΄
λμΆ© 보면 κ·Έλν λ¬Έμ κ°μλ°, νκ³ λ³΄λ λ€μν λ°©μμΌλ‘ ν μ μλ λ¬Έμ μλ€. λλ 그리λ + DFS λ°©μμΌλ‘ νμλ€.
μ΄ λ¬Έμ μ κ²½μ° λ°©λ¬Έ μμλ μ€λ³΅ μ²λ¦¬λ₯Ό μ κ²½μ¨μ£Όμ§ μμΌλ©΄ μ λν ν μ€νΈμΌμ΄μ€μ μν΄ ν°μ Έλ²λ¦°λ€. μ¦ κ·Έλν μνμ²λΌ νμμ§λ§, μ¬μ€μ μ λ΅λ§μ ν₯ν΄ κ°λλ‘ λ°©λ¬Έ μΌμ΄μ€λ₯Ό μ νμμΌμΌ νλ 그리λμ μ±κ²©μ κ°κΉλ€. ν¬κ² μ κ²½μ¨μΌ ν λΆλΆμ 2κ°μ§λ€.
λμΌν μΉΈμ λ λ² μ΄μ λ°©λ¬Έ κ°λ₯νλ€κ³ ν΄μ λ°©λ¬Έ μ²λ¦¬λ₯Ό μν΄μ£Όλ©΄ λ± λ΄λ λ©λͺ¨λ¦¬κ° ν°μ§λ μκ°μ΄ ν°μ§ κ²μ΄λ€.
μ¦ μ΄λ€ λ°©μμΌλ‘λ μ€λ³΅ μ²λ¦¬λ₯Ό ν΄μ€μΌ νλλ°, 1039 κ΅ν PR μ¬κΈ°μμ μΌλ ν ν¬λμ΄ μκ°λ¬λ€.
λμΌν μΉΈμ λλ¬νλλΌλ, λͺ λ²μ§Έ μ΄λ μΈ μ§ κ΅¬λΆν΄μ€λ€.
μ¦ (x, y) μ’νμΈλ° 0λ²μ§Έ μ΄λμΈ μ§, 1λ²μ§Έ μ΄λμΈ μ§, ..., kλ²μ§Έ μ΄λμΈ μ§λ₯Ό λͺ¨λ λ€λ₯΄κ² λ³Έλ€λ κ²μ΄λ€.
νμΆ κ²½λ‘κ° μ¬μ μμΌλ‘ κ°μ₯ λΉ¨λΌμΌ νλ€.
μΈμ ν λ€ μΉΈμ΄ λμλ¨λΆμΈλ°, μ΄λ κ°κ° rludμ΄λ€.
νμ§λ§ μ¬κ· DFSλ λ¨Όμ λ°©λ¬Ένλ μμλ‘ κ°λ₯ν λκΉμ§ λ€μ΄κ°λ νΉμ±μ΄ μμΌλ―λ‘, λ°©λ¬Έ μμλ₯Ό μ μ΄μ μ¬μ μ μμμΈ dlru μμλ‘ κ²μ¬νλ€.
μ΄ λΆλΆμ μ‘μλ΄λ λ° μκ°μ΄ μ’ κ±Έλ Έλ€.
3. μ½λ
μ λ¨λ½μμ μκΈ°νλ λ κ°μ§λ₯Ό μννλ μ½λμ΄λ€ .
μ¬μ μ μμμΈ d - l - r - u μμΌλ‘ λ°©λ¬Έν μ μλλ‘ λ΄λΆ μμλ₯Ό λ°°μΉνλ€.
κ·Έλ¦¬κ³ (x, y) μ’νμ 'λͺ λ²μ§Έ μ΄λ'μΈ μ§λ₯Ό λνλ΄κΈ° μν΄ 3μ°¨μ λ°©λ¬Έ μ²΄ν¬ λ°°μ΄μ μ μΈνλ€.
solution ν¨μμμ Visitedλ₯Ό μ΄κΈ°νν΄μ£Όκ³ , DFS ν¨μλ₯Ό μννλ€.
μ μλ³μμ μ‘΄μ¬νλ Answer string λ³μλ₯Ό DFS ν¨μ λ΄λΆμμ μμ νλ€.
DFS ν¨μ μνμ΄ μλ£λμ λ Answerμ λ΄κΈ΄ κ²½λ‘κ° μμ κ²½μ°, μ΄λ kλ² μ΄λμΌλ‘ λλ¬ν μ μμμ μλ―Ένλ―λ‘ "impossible"μ λ°ννλ€. μλλΌλ©΄ Answerμ λ΄κΈ΄ κ²½λ‘λ₯Ό λ°ννλ€.
DFS ν¨μμ΄λ€.
Remainμ΄ λ¨μ μ΄λ νμλ₯Ό μλ―Ένλλ°, kλΆν° μμν΄μ 1μ© μ€μ΄λ€λ©° 0μ΄ λλ©΄ Base caseλ‘ μ§μ ν΄ νμΆνλ€.
λ¨μ μ΄λ νμκ° μ‘΄μ¬νλ€λ©΄ Recursive Caseλ‘ μ§μ νλ€.
4. μ 체 μ½λ
π μλ‘κ² μκ²λ λ΄μ©
μ½λλ‘ λ³΄λ©΄ μ¬μ΄λ°, μ€κ°μ μ½μ§ λλ¬Έμ μκ° κ½€ λ λ Έλ€ γ γ·γ γ·...
λ€λ₯Έ μ¬λλ€ λ³΄λκΉ λκ² λ€μνκ² νμλ€. λ¨μ λ°λ³΅λ¬Έμ, DPμ, λ¬΄μ¨ κ±°λ¦¬ κ³μ°μ...
λ€λ€ λλ¨ν΄...