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

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค '๊ฒน์น˜๋Š” ์„ ๋ถ„์˜ ๊ธธ์ด' ํŒŒ์ด์ฌ ํ’€์ด

by beomcoder 2023. 2. 16.
728x90
๋ฐ˜์‘ํ˜•
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

"""
์„ ๋ถ„ 3๊ฐœ๊ฐ€ ํ‰ํ–‰ํ•˜๊ฒŒ ๋†“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. 
์„ธ ์„ ๋ถ„์˜ ์‹œ์ž‘๊ณผ ๋ ์ขŒํ‘œ๊ฐ€ [[start, end], [start, end], [start, end]] ํ˜•ํƒœ๋กœ
๋“ค์–ด์žˆ๋Š” 2์ฐจ์› ๋ฐฐ์—ด lines๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, 
๋‘ ๊ฐœ ์ด์ƒ์˜ ์„ ๋ถ„์ด ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์˜ ๊ธธ์ด๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.
"""

# ๋‚˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ ‘๊ทผ์„ ์ด์ƒํ•˜๊ฒŒ ํ–ˆ๋‹ค.
# ์ ๊ณผ ์  ์‚ฌ์ด์— 0.5 ๋ถ€๋ถ„์„ ์ฒดํฌํ•˜์—ฌ ์ˆซ์ž๋ฅผ ์„ธ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค.
# 0.5์˜ ์†Œ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์‹ซ์–ด์„œ *10์„ ํ•ด์ค˜ for๋ฌธ์„ ๋Œ๋ ธ๋‹ค.
# ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฆฌํ„ด์„ ํ•ด์ค„๋•Œ๋Š” 0.5์˜ ๋ถ€๋ถ„์ด ์•„๋‹Œ ๊ณณ์€ ์ œ์™ธํ•˜๊ณ  ๋”ํ•ด์ฃผ์—ˆ๋‹ค.

def solution(lines):
    total = {}
    for line in lines:
        start, end = line
        for i in range(start*10+5, end*10, 5):
            if i in total.keys():
                total[i] = 1
            else:
                total[i] = 0
    return sum([v for k,v in total.items() if k%10!=0])
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€