Updated:

[BOJ : 1475]

๐Ÿ’ป code

01 lambda ์ด์šฉ

import sys
input = sys.stdin.readline

N = input().rstrip()
ans = 1
nums = [1 for _ in range(10)]

for n in N:
    n = int(n)
    if nums[n] > 0:
        nums[n] -= 1
    else:
        if (n == 6 and nums[9] > 0):
            nums[9] -= 1
        elif (n == 9 and nums[6] > 0):
            nums[6] -= 1
        else:
            nums = list(map(lambda x: x+1, nums))  # *
            nums[n] -= 1
            ans += 1


print(ans)

์ดˆ๋ฐ˜์— N์„ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ .rstrip()์„ ํ†ตํ•ด ๊ฐœํ–‰๋ฌธ์ž๊ฐ€ ํ•จ๊ป˜ ๋ฐ›์•„์ง€์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•œ๋‹ค.
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ ์ˆซ์ž๋“ค์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ด๊ธด nums ๋ฆฌ์ŠคํŠธ์— ํ•ด๋‹น ์ˆซ์ž๊ฐ€ ๋‚จ์•„ ์žˆ๋Š”์ง€ ์ฒดํฌํ•œ๋‹ค.
๋งŒ์•ฝ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ˆซ์ž๊ฐ€ ์—†๋‹ค๋ฉด ์ˆซ์ž ์„ธํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ฆ‰, nums๋‚ด ๋ชจ๋“  ์›์†Œ๋“ค์˜ ๊ฐ’์„ 1์”ฉ ๋Š˜๋ฆฐ๋‹ค.
์ˆซ์ž 6๊ณผ 9์— ๋Œ€ํ•ด์„œ๋Š” ์กฐ๊ฑด๋ฌธ์„ ๋”ฐ๋กœ ์ž‘์„ฑํ–ˆ๋‹ค.

02

import sys
input = sys.stdin.readline

N = input().rstrip()
cnts = [0] * 9  # 0 ~ 8

for n in N:
    n = int(n)
    if n == 9:
        n = 6
    cnts[n] += 1

cnts[6] = (cnts[6]+1) // 2

print(max(cnts))

N์„ ๊ตฌ์„ฑํ•˜๋Š” ์ˆซ์ž๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธํ•œ๋‹ค.
์ด๋•Œ 9๋Š” 6์œผ๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ์นด์šดํŠธํ•œ๋‹ค.

โœ๏ธ๐Ÿ‘€

lambda function

์ต๋ช… ํ•จ์ˆ˜, ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
lambda ๋งค๊ฐœ๋ณ€์ˆ˜ : ํ‘œํ˜„์‹

def func(x, y):
    return x+y

func(1, 2)์™€ (lambda x, y : x+y)(1, 2)์˜ ๊ฐ’์€ ๊ฐ™๋‹ค.

map

map(ํ•จ์ˆ˜, ๋ฆฌ์ŠคํŠธ)
๋ฆฌ์ŠคํŠธ์—์„œ ์›์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ˜ํ™˜ํ•ด ์ค€๋‹ค.

Leave a comment