πŸ”μ•Œκ³ λ¦¬μ¦˜/ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

검색결과 43 개
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/python] μŠ€νƒ/큐 : κΈ°λŠ₯개발

문제 μ„€λͺ… ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ νŒ€μ—μ„œλŠ” κΈ°λŠ₯ κ°œμ„  μž‘μ—…μ„ μˆ˜ν–‰ μ€‘μž…λ‹ˆλ‹€. 각 κΈ°λŠ₯은 진도가 100%일 λ•Œ μ„œλΉ„μŠ€μ— λ°˜μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 또, 각 κΈ°λŠ₯의 κ°œλ°œμ†λ„λŠ” λͺ¨λ‘ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— 뒀에 μžˆλŠ” κΈ°λŠ₯이 μ•žμ— μžˆλŠ” κΈ°λŠ₯보닀 λ¨Όμ € 개발될 수 있고, μ΄λ•Œ 뒀에 μžˆλŠ” κΈ°λŠ₯은 μ•žμ— μžˆλŠ” κΈ°λŠ₯이 배포될 λ•Œ ν•¨κ»˜ λ°°ν¬λ©λ‹ˆλ‹€. λ¨Όμ € λ°°ν¬λ˜μ–΄μ•Ό ν•˜λŠ” μˆœμ„œλŒ€λ‘œ μž‘μ—…μ˜ 진도가 적힌 μ •μˆ˜ λ°°μ—΄ progresses와 각 μž‘μ—…μ˜ 개발 속도가 적힌 μ •μˆ˜ λ°°μ—΄ speedsκ°€ μ£Όμ–΄μ§ˆ λ•Œ 각 λ°°ν¬λ§ˆλ‹€ λͺ‡ 개의 κΈ°λŠ₯이 λ°°ν¬λ˜λŠ”μ§€λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•˜μ„Έμš”. μ œν•œ 사항 μž‘μ—…μ˜ 개수(progresses, speedsλ°°μ—΄μ˜ 길이)λŠ” 100개 μ΄ν•˜μž…λ‹ˆλ‹€. μž‘μ—… μ§„λ„λŠ” 100 미만의 μžμ—°μˆ˜μž…λ‹ˆλ‹€. μž‘μ—… μ†λ„λŠ” 100 μ΄ν•˜μ˜ 자..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/python] 2019 KAKAO BLIND RECRUITMENT : μ˜€ν”ˆμ±„νŒ…λ°©

문제 μ„€λͺ… μΉ΄μΉ΄μ˜€ν†‘ μ˜€ν”ˆμ±„νŒ…λ°©μ—μ„œλŠ” μΉœκ΅¬κ°€ μ•„λ‹Œ μ‚¬λžŒλ“€κ³Ό λŒ€ν™”λ₯Ό ν•  수 μžˆλŠ”λ°, 본래 λ‹‰λ„€μž„μ΄ μ•„λ‹Œ κ°€μƒμ˜ λ‹‰λ„€μž„μ„ μ‚¬μš©ν•˜μ—¬ μ±„νŒ…λ°©μ— λ“€μ–΄κ°ˆ 수 μžˆλ‹€. μ‹ μž…μ‚¬μ›μΈ κΉ€ν¬λ£¨λŠ” μΉ΄μΉ΄μ˜€ν†‘ μ˜€ν”ˆ μ±„νŒ…λ°©μ„ κ°œμ„€ν•œ μ‚¬λžŒμ„ μœ„ν•΄, λ‹€μ–‘ν•œ μ‚¬λžŒλ“€μ΄ λ“€μ–΄μ˜€κ³ , λ‚˜κ°€λŠ” 것을 μ§€μΌœλ³Ό 수 μžˆλŠ” κ΄€λ¦¬μžμ°½μ„ λ§Œλ“€κΈ°λ‘œ ν–ˆλ‹€. μ±„νŒ…λ°©μ— λˆ„κ΅°κ°€ λ“€μ–΄μ˜€λ©΄ λ‹€μŒ λ©”μ‹œμ§€κ°€ 좜λ ₯λœλ‹€. "[λ‹‰λ„€μž„]λ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€." μ±„νŒ…λ°©μ—μ„œ λˆ„κ΅°κ°€ λ‚˜κ°€λ©΄ λ‹€μŒ λ©”μ‹œμ§€κ°€ 좜λ ₯λœλ‹€. "[λ‹‰λ„€μž„]λ‹˜μ΄ λ‚˜κ°”μŠ΅λ‹ˆλ‹€." μ±„νŒ…λ°©μ—μ„œ λ‹‰λ„€μž„μ„ λ³€κ²½ν•˜λŠ” 방법은 λ‹€μŒκ³Ό 같이 두 가지이닀. μ±„νŒ…λ°©μ„ λ‚˜κ°„ ν›„, μƒˆλ‘œμš΄ λ‹‰λ„€μž„μœΌλ‘œ λ‹€μ‹œ λ“€μ–΄κ°„λ‹€. μ±„νŒ…λ°©μ—μ„œ λ‹‰λ„€μž„μ„ λ³€κ²½ν•œλ‹€. λ‹‰λ„€μž„μ„ λ³€κ²½ν•  λ•ŒλŠ” 기쑴에 μ±„νŒ…λ°©μ— 좜λ ₯λ˜μ–΄ 있던 λ©”μ‹œμ§€μ˜ λ‹‰λ„€μž„λ„ μ „λΆ€ λ³€κ²½λœλ‹€. 예λ₯Ό λ“€μ–΄, μ±„νŒ…λ°©..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/python] 2021 KAKAO BLIND RECRUITMENT : μ‹ κ·œ 아이디 μΆ”μ²œ

문제 μ„€λͺ… μΉ΄μΉ΄μ˜€μ— μž…μ‚¬ν•œ μ‹ μž… 개발자 λ„€μ˜€λŠ” "μΉ΄μΉ΄μ˜€κ³„μ •κ°œλ°œνŒ€"에 λ°°μΉ˜λ˜μ–΄, 카카였 μ„œλΉ„μŠ€μ— κ°€μž…ν•˜λŠ” μœ μ €λ“€μ˜ 아이디λ₯Ό μƒμ„±ν•˜λŠ” 업무λ₯Ό λ‹΄λ‹Ήν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. "λ„€μ˜€"μ—κ²Œ 주어진 첫 μ—…λ¬΄λŠ” μƒˆλ‘œ κ°€μž…ν•˜λŠ” μœ μ €λ“€μ΄ 카카였 아이디 κ·œμΉ™μ— λ§žμ§€ μ•ŠλŠ” 아이디λ₯Ό μž…λ ₯ν–ˆμ„ λ•Œ, μž…λ ₯된 아이디와 μœ μ‚¬ν•˜λ©΄μ„œ κ·œμΉ™μ— λ§žλŠ” 아이디λ₯Ό μΆ”μ²œν•΄μ£ΌλŠ” ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ‹€μŒμ€ 카카였 μ•„μ΄λ””μ˜ κ·œμΉ™μž…λ‹ˆλ‹€. μ•„μ΄λ””μ˜ κΈΈμ΄λŠ” 3자 이상 15자 μ΄ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€. μ•„μ΄λ””λŠ” μ•ŒνŒŒλ²³ μ†Œλ¬Έμž, 숫자, λΉΌκΈ°(-), 밑쀄(_), λ§ˆμΉ¨ν‘œ(.) 문자만 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 단, λ§ˆμΉ¨ν‘œ(.)λŠ” 처음과 끝에 μ‚¬μš©ν•  수 μ—†μœΌλ©° λ˜ν•œ μ—°μ†μœΌλ‘œ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. "λ„€μ˜€"λŠ” λ‹€μŒκ³Ό 같이 7λ‹¨κ³„μ˜ 순차적인 처리 과정을 톡해 μ‹ κ·œ μœ μ €κ°€ μž…λ ₯ν•œ 아이..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/python] 2020 카카였 인턴십 : ν‚€νŒ¨λ“œ λˆ„λ₯΄κΈ°

문제 μ„€λͺ… 슀마트폰 μ „ν™” ν‚€νŒ¨λ“œμ˜ 각 칸에 λ‹€μŒκ³Ό 같이 μˆ«μžλ“€μ΄ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. 이 μ „ν™” ν‚€νŒ¨λ“œμ—μ„œ 왼손과 였λ₯Έμ†μ˜ μ—„μ§€μ†κ°€λ½λ§Œμ„ μ΄μš©ν•΄μ„œ μˆ«μžλ§Œμ„ μž…λ ₯ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 맨 처음 왼손 엄지손가락은 * ν‚€νŒ¨λ“œμ— 였λ₯Έμ† 엄지손가락은 # ν‚€νŒ¨λ“œ μœ„μΉ˜μ—μ„œ μ‹œμž‘ν•˜λ©°, 엄지손가락을 μ‚¬μš©ν•˜λŠ” κ·œμΉ™μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. 엄지손가락은 μƒν•˜μ’Œμš° 4가지 λ°©ν–₯으둜만 이동할 수 있으며 ν‚€νŒ¨λ“œ 이동 ν•œ 칸은 거리둜 1에 ν•΄λ‹Ήν•©λ‹ˆλ‹€. μ™Όμͺ½ μ—΄μ˜ 3개의 숫자 1, 4, 7을 μž…λ ₯ν•  λ•ŒλŠ” 왼손 엄지손가락을 μ‚¬μš©ν•©λ‹ˆλ‹€. 였λ₯Έμͺ½ μ—΄μ˜ 3개의 숫자 3, 6, 9λ₯Ό μž…λ ₯ν•  λ•ŒλŠ” 였λ₯Έμ† 엄지손가락을 μ‚¬μš©ν•©λ‹ˆλ‹€. κ°€μš΄λ° μ—΄μ˜ 4개의 숫자 2, 5, 8, 0을 μž…λ ₯ν•  λ•ŒλŠ” 두 μ—„μ§€μ†κ°€λ½μ˜ ν˜„μž¬ ν‚€νŒ¨λ“œμ˜ μœ„μΉ˜μ—μ„œ 더 κ°€κΉŒμš΄ 엄지손가락을 μ‚¬μš©ν•©λ‹ˆλ‹€. 4..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/python] 깊이/λ„ˆλΉ„ μš°μ„  탐색(DFS/BFS) : μ—¬ν–‰κ²½λ‘œ

문제 μ„€λͺ… 주어진 ν•­κ³΅κΆŒμ„ λͺ¨λ‘ μ΄μš©ν•˜μ—¬ μ—¬ν–‰κ²½λ‘œλ₯Ό 짜렀고 ν•©λ‹ˆλ‹€. 항상 "ICN" κ³΅ν•­μ—μ„œ μΆœλ°œν•©λ‹ˆλ‹€. ν•­κ³΅κΆŒ 정보가 λ‹΄κΈ΄ 2차원 λ°°μ—΄ ticketsκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, λ°©λ¬Έν•˜λŠ” 곡항 경둜λ₯Ό 배열에 λ‹΄μ•„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”. μ œν•œμ‚¬ν•­ λͺ¨λ“  곡항은 μ•ŒνŒŒλ²³ λŒ€λ¬Έμž 3κΈ€μžλ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€. 주어진 곡항 μˆ˜λŠ” 3개 이상 10,000개 μ΄ν•˜μž…λ‹ˆλ‹€. tickets의 각 ν–‰ [a, b]λŠ” a κ³΅ν•­μ—μ„œ b κ³΅ν•­μœΌλ‘œ κ°€λŠ” ν•­κ³΅κΆŒμ΄ μžˆλ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. 주어진 ν•­κ³΅κΆŒμ€ λͺ¨λ‘ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. 만일 κ°€λŠ₯ν•œ κ²½λ‘œκ°€ 2개 이상일 경우 μ•ŒνŒŒλ²³ μˆœμ„œκ°€ μ•žμ„œλŠ” 경둜λ₯Ό return ν•©λ‹ˆλ‹€. λͺ¨λ“  λ„μ‹œλ₯Ό λ°©λ¬Έν•  수 μ—†λŠ” κ²½μš°λŠ” 주어지지 μ•ŠμŠ΅λ‹ˆλ‹€. μ •λ‹΅ def solution(tickets): ti..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/python] 깊이/λ„ˆλΉ„ μš°μ„  탐색(DFS/BFS) : λ„€νŠΈμ›Œν¬

문제 μ„€λͺ… λ„€νŠΈμ›Œν¬λž€ 컴퓨터 μƒν˜Έ 간에 정보λ₯Ό κ΅ν™˜ν•  수 μžˆλ„λ‘ μ—°κ²°λœ ν˜•νƒœλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 컴퓨터 A와 컴퓨터 Bκ°€ μ§μ ‘μ μœΌλ‘œ μ—°κ²°λ˜μ–΄μžˆκ³ , 컴퓨터 B와 컴퓨터 Cκ°€ μ§μ ‘μ μœΌλ‘œ μ—°κ²°λ˜μ–΄ μžˆμ„ λ•Œ 컴퓨터 A와 컴퓨터 C도 κ°„μ ‘μ μœΌλ‘œ μ—°κ²°λ˜μ–΄ 정보λ₯Ό κ΅ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 컴퓨터 A, B, CλŠ” λͺ¨λ‘ 같은 λ„€νŠΈμ›Œν¬ 상에 μžˆλ‹€κ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ»΄ν“¨ν„°μ˜ 개수 n, 연결에 λŒ€ν•œ 정보가 λ‹΄κΈ΄ 2차원 λ°°μ—΄ computersκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, λ„€νŠΈμ›Œν¬μ˜ 개수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜μ‹œμ˜€. μ œν•œμ‚¬ν•­ μ»΄ν“¨ν„°μ˜ 개수 n은 1 이상 200 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€. 각 μ»΄ν“¨ν„°λŠ” 0λΆ€ν„° n-1인 μ •μˆ˜λ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€. i번 컴퓨터와 j번 컴퓨터가 μ—°κ²°λ˜μ–΄ 있으면 computers[..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/python] 깊이/λ„ˆλΉ„ μš°μ„  탐색(DFS/BFS) : νƒ€κ²Ÿ λ„˜λ²„

문제 μ„€λͺ… n개의 음이 μ•„λ‹Œ μ •μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. 이 수λ₯Ό 적절히 λ”ν•˜κ±°λ‚˜ λΉΌμ„œ νƒ€κ²Ÿ λ„˜λ²„λ₯Ό λ§Œλ“€λ €κ³  ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ [1, 1, 1, 1, 1]둜 숫자 3을 λ§Œλ“€λ €λ©΄ λ‹€μŒ λ‹€μ„― 방법을 μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 μ‚¬μš©ν•  수 μžˆλŠ” μˆ«μžκ°€ λ‹΄κΈ΄ λ°°μ—΄ numbers, νƒ€κ²Ÿ λ„˜λ²„ target이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ 숫자λ₯Ό 적절히 λ”ν•˜κ³  λΉΌμ„œ νƒ€κ²Ÿ λ„˜λ²„λ₯Ό λ§Œλ“œλŠ” λ°©λ²•μ˜ 수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”. μ œν•œμ‚¬ν•­ μ£Όμ–΄μ§€λŠ” 숫자의 κ°œμˆ˜λŠ” 2개 이상 20개 μ΄ν•˜μž…λ‹ˆλ‹€. 각 μˆ«μžλŠ” 1 이상 50 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€. νƒ€κ²Ÿ λ„˜λ²„λŠ” 1 이상 1000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€. ..