개발/π™‹π™§π™€π™œπ™§π™–π™’π™’π™šπ™§π™¨

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ '바탕화면 정리' 파이썬 풀이

beomcoder 2023. 3. 5. 01:50
728x90
λ°˜μ‘ν˜•
 

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

μ½”λ“œ μ€‘μ‹¬μ˜ 개발자 μ±„μš©. μŠ€νƒ 기반의 ν¬μ§€μ…˜ λ§€μΉ­. ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ 개발자 λ§žμΆ€ν˜• ν”„λ‘œν•„μ„ λ“±λ‘ν•˜κ³ , λ‚˜μ™€ 기술 ꢁ합이 잘 λ§žλŠ” 기업듀을 λ§€μΉ­ λ°›μœΌμ„Έμš”.

programmers.co.kr

"""
μ½”λ”©ν…ŒμŠ€νŠΈλ₯Ό μ€€λΉ„ν•˜λŠ” λ¨Έμ“±μ΄λŠ” ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ—μ„œ 문제λ₯Ό ν’€κ³  
λ‚˜μ€‘μ— λ‹€μ‹œ μ½”λ“œλ₯Ό λ³΄λ©΄μ„œ κ³΅λΆ€ν•˜λ €κ³  μž‘μ„±ν•œ μ½”λ“œλ₯Ό 컴퓨터 바탕화면에 
아무 μœ„μΉ˜μ—λ‚˜ μ €μž₯ν•΄ λ‘‘λ‹ˆλ‹€. μ €μž₯ν•œ μ½”λ“œκ°€ λ§Žμ•„μ§€λ©΄μ„œ λ¨Έμ“±μ΄λŠ” 
본인의 컴퓨터 바탕화면이 λ„ˆλ¬΄ μ§€μ €λΆ„ν•˜λ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. 
ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ—μ„œ μž‘μ„±ν–ˆλ˜ μ½”λ“œλŠ” κ·Έ λ¬Έμ œμ— κ°€μ„œ λ‹€μ‹œ λ³Ό 수 있기 λ•Œλ¬Έμ— 
μ €μž₯ν•΄ λ‘” νŒŒμΌλ“€μ„ μ „λΆ€ μ‚­μ œν•˜κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.
(μ€‘λž΅)
"""

def solution(wallpaper):
    answer = [50, 50, 0, 0]
    for yi, y in enumerate(wallpaper):
        for xi, x in enumerate(y):
            if x == '#':
                answer = [
                            min(answer[0], yi), min(answer[1], xi),
                            max(answer[2], (yi+1)), max(answer[3], (xi+1))
                         ]
    return answer
    
"""
이건 정말 μ‰½κ²Œ μƒκ°ν•΄μ„œ ν’€μ—ˆλ‹€.
λ¨Όμ € 0~50κΉŒμ§€λ°–μ— μ—†λ‹€κ³  ν•˜μ—¬ answer을 50, 50, 0, 0으둜 μž‘μ•˜λ‹€.

λ“œλž˜κ·ΈλŠ” μ§μ‚¬κ°ν˜•μœΌλ‘œ ν•˜κΈ°λ•Œλ¬Έμ— 폴더가 μ „λΆ€ ν¬ν•¨λ˜μ–΄μ•Όν•œλ‹€.
answer[0], [1]은 κ°€μž₯ μ™Όμͺ½, κ°€μž₯ μœ„μͺ½μ˜ μ’Œν‘œλ₯Ό λ„£μœΌλ©΄ 되고,
answer[2], [3]은 κ°€μž₯ 였λ₯Έμͺ½, κ°€μž₯ μ•„λž˜μͺ½μ˜ μ’Œν‘œλ₯Ό λ„£μœΌλ©΄ λœλ‹€.

κ·Έλž˜μ„œ 폴더(#)κ°€ μžˆμ„λ•Œλ§ˆλ‹€ ν˜„μž¬ answer에 λ“€μ–΄μžˆλŠ” 폴더보닀 
더 μž‘μ€κ°’μ„ [0], [1]에 λ„£μ–΄μ£Όκ³ , 더 큰값을 [2], [3]에 λ„£μ–΄μ£Όλ©΄ λœλ‹€.
"""
728x90
λ°˜μ‘ν˜•