๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐˜ผ๐™ก๐™œ๐™ค๐™ง๐™ž๐™ฉ๐™๐™ข/๐™‹๐™ง๐™ค๐™œ๐™ง๐™–๐™ข๐™ข๐™š๐™ง๐™จ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค '๋ฐ”ํƒ•ํ™”๋ฉด ์ •๋ฆฌ' ํŒŒ์ด์ฌ ํ’€์ด

by beomcoder 2023. 3. 5.
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
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€