[2022-09-06 ๐Ÿง  TIL ]

Burkeyยท2022๋…„ 9์›” 6์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
24/157

์˜ค๋Š˜์€ ๋ฐฑ์ค€ ๋‘๋ฌธ์ œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค.

2231๋ฒˆ ๋ฌธ์ œ

๋Š๋ฆฐ์ฝ”๋“œ
 n = input()

 result = 0
 num = 1

 while num <= int(n):
     check = num
     s = str(num)
     for i in s:
         check += int(i)
     if check == int(n):
         result = num
         break
     num += 1

 print(result)

์œ„์— ์ฝ”๋“œ๋Š” ๋ฐ˜๋ณต๋ฌธ์ด ์ค‘๋ณต์ด๋ผ ๋Š๋ฆฌ๋‹ค.
ํ•˜์ง€๋งŒ ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•œ ํŽธ...(์•„๋ž˜๋ณด๋‹ค..)

์•„๋ž˜ ์ฝ”๋“œ๋Š” ๋ฐ˜๋ณต๋ฌธ์ด ํ•œ๋ฒˆ์ด๋ผ ์ข€ ๋น ๋ฅด์ง€๋งŒ
์ฝ”๋“œ๊ฐ€ ์ž๋ฆฟ์ˆ˜๋ณ„ if๋ฌธ์œผ๋กœ ์ชผ๊ฐœ์ ธ ์žˆ์–ด์„œ ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€์•Š๋‹คใ… .

n = int(input())

start = 0
result = 0

while start != n:
    check = 0
    if start <= 9:
        check = start + start
    elif start <= 99:
        check = start + (start // 10) + (start % 10)
    elif start <= 999:
        check = start + (start // 100) + ((start // 10) %
                                          10) + (start % 10)
    elif start <= 9999:
        check = start + (start // 1000) + ((start // 100) % 10) + \
            ((start // 10) % 10) + (start % 10)
    elif start <= 99999:
        check = start + (start // 10000) + ((start // 1000) % 10) + \
            ((start // 100) % 10) + ((start // 10) % 10) + (start % 10)
    elif start <= 999999:
        check = start + (start // 100000) + ((start // 10000) % 10) + \
            ((start // 1000) % 10) + ((start // 100) %
                                      10) + ((start // 10) % 10) + (start % 10)
    if check == n:
        result = start
        break
    start += 1

print(result)

์ฒ˜์Œ์—๋Š” 10์˜ ์ดํ•˜์˜ ์ˆซ์ž๋Š” ๋ชจ๋‘ ๋ถ„ํ•ดํ•ฉ์œผ๋กœ ์ ์šฉ์ด ์•ˆ๋˜๋Š” ์ค„ ์•Œ์•˜๋‹ค.

๊ทธ๋ž˜์„œ ์ฝ”๋“œ๊ฐ€ ์ž˜ ๋™์ž‘๋˜๋Š”๋ฐ ์™œ ์•ˆ๋˜๋Š”์ง€ ์ฒด์ ํ•˜๋Š”๋ฐ ๊ณ„์† 92%์—์„œ ๊ฑธ๋ ธ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ์•Œ๊ณ ๋ณด๋‹ˆ 10์˜ ๋ถ„ํ•ดํ•ฉ์œผ๋กœ 5๋ผ๋Š” 1์˜์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด์˜€๋‹ค..

์ด ํ›„์— 10์ดํ•˜๋Š” ๋ฌด์กฐ๊ฑด result ๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ง€์šฐ๊ณ  ํ–ˆ๋”๋‹ˆ ์ž‘๋™ํ•˜์˜€๋‹ค. ใ…Ž

2798๋ฒˆ

n, m = map(int, input().split())
cards = list(map(int, input().split()))

val = 0
for i in range(n - 2):
    for ii in range(i+1, n-1):
        for iii in range(ii+1, n):
            com = cards[i] + cards[ii] + cards[iii]
            if (val < com) and com <= m:
                val = com

print(val)

์ฃผ์–ด์ง„ ์นด๋“œ์˜ ๊ฐ’์„ ์ค‘๋ณต์—†์ด 3๊ฐœ ๊ณจ๋ผ์„œ ํ•ฉํ•œ ๊ฐ’์ด
์ฃผ์–ด์ง„ m์˜ ๊ฐ’์— ์ตœ๋Œ€๋กœ ๊ทผ์ ‘ํ•œ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์˜€๋‹ค.

์ด๋ฌธ์ œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ์ค‘์ฒฉ์œผ๋กœ 3๊ฐœ... ๋”์ฐ..
์ผ๋‹จ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์ค„์ด๊ณ ์ž range์˜ ๊ฐ’์„ ์กฐ์ •ํ•˜์˜€์ง€๋งŒ, ๊ทธ๋ž˜๋„ ๋ฐ˜๋ณต๋ฌธ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด๊ณ  ์‹ถ๋‹ค.

2231๋ฒˆ ํ‘ธ๋Š๋ผ ๋‡Œ๊ฐ€ ๋น ์ง€๋Š” ์ค„..(ํ•ด๊ฒฐ ํ• ๋“ฏ ๋ชป ํ• ๋“ฏ ํ–ˆ์œผ๋‹ˆ.. ์•„ํœดใ… ใ… )

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€