[Python-Baekjoon] ํ•จ์ˆ˜

Beanxxยท2021๋…„ 8์›” 17์ผ
0

Algorithm

๋ชฉ๋ก ๋ณด๊ธฐ
6/10
post-thumbnail

๋ฐฑ์ค€-๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ-'ํ•จ์ˆ˜' ํŒŒํŠธ ๋ฌธ์ œ๋“ค ์ค‘ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๊ฐœ๋… ๋ฐ ๋ฌธ์ œ๋“ค์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

[Baekjoon] 15596. ์ •์ˆ˜ N๊ฐœ์˜ ํ•ฉ

: ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด ๋ด…์‹œ๋‹ค.

๐Ÿ“˜ 15596 ๋ฌธ์ œ ๋งํฌ

def solve(a):
    result = sum(a)
    return result
  • sum() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์™„์ „ ๊ฐ„๋‹จํžˆ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

โฌ‡ for๋ฌธ์„ ์‚ฌ์šฉํ•œ ์•„๋ž˜ ์ฝ”๋“œ๋Š” ์œ„ ์ฝ”๋“œ ๋ณด๋‹ค ์‹œ๊ฐ„์ด 5๋ฐฐ๋Š” ๋” ๊ฑธ๋ฆฐ๋‹ค.

def solve(a) :
    result = 0
    for i in a:
        result += i
    return result


[Baekjoon] 4673. ์…€ํ”„ ๋„˜๋ฒ„

: ํ•จ์ˆ˜ d๋ฅผ ์ •์˜ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ด…์‹œ๋‹ค.

๐Ÿ“˜ 4673 ๋ฌธ์ œ ๋งํฌ

# 1~10000๊นŒ์ง€์˜ ์ˆซ์ž ์ €์žฅ
all_num = set(range(1, 10001))

# ์…€ํ”„ ๋„˜๋ฒ„๊ฐ€ ์•„๋‹Œ ์ˆ˜ ์ €์žฅ
not_self_num = set()

for i in range(1, 10001):
    for j in str(i):  # ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์˜ˆ๋ฅผ ๋“ค์–ด 123์„ 1, 2, 3์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ
        i += int(j)  # ex) 123 + 1 + 2 + 3 =

    not_self_num.add(i)  # ์…€ํ”„ ๋„˜๋ฒ„๊ฐ€ ์•„๋‹Œ ์ˆ˜๋ฅผ ๊ณ„์† ์ €์žฅ

# ์…€ํ”„ ๋„˜๋ฒ„ set = ์ „์ฒด ์ˆ˜ set - ์…€ํ”„ ๋„˜๋ฒ„๊ฐ€ ์•„๋‹Œ ์ˆ˜ set
self_num = sorted(all_num - not_self_num)

for i in self_num:
    print(i)
  • โ— ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ• ์ง€ ๋ง‰๋ง‰ํ•ด์„œ ๋‹ค์–‘ํ•œ ์ฝ”๋“œ๋“ค์„ ์ฐพ์•„๋ณด๊ณ  ๊ทธ ์ค‘ ์ œ์ผ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ดํ•ดํ–ˆ๋‹ค.
  • set() : ์ค‘๋ณต์ด ์—†๋Š” ์š”์†Œ๋“ค๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ์ง‘ํ•ฉ ์ปฌ๋ ‰์…˜ (์ˆœ์„œ x)
  • for๋ฌธ์—์„œ ๋ฒ”์œ„๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ง€์ • ๊ฐ€๋Šฅํ•˜๋‹ค .
#ex)
for i in str(123):
	print(i)
 
#output
1
2
3
  • โ— ์ด ๋ฌธ์ œ ๋ถ„๋ฅ˜๊ฐ€ ํ•จ์ˆ˜์ธ ๋งŒํผ ๋‹ค์Œ ๋ฒˆ์—๋Š” def d(n): ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ด์•ผ ๊ฒ ๋‹ค.


[Baekjoon] 1065. ํ•œ์ˆ˜

: X๊ฐ€ ํ•œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ด…์‹œ๋‹ค.

๐Ÿ“˜ 1065 ๋ฌธ์ œ ๋งํฌ

N = int(input())
hansu = 0

for i in range(1, N+1):
    if i <= 99: #100 ๋ฏธ๋งŒ์˜ ์ˆ˜๋Š” ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ์ˆ˜๋งŒ ๋น„๊ตํ•˜๋ฏ€๋กœ ๋ชจ๋“  ์ˆ˜๊ฐ€ ๋“ฑ์ฐจ์ˆ˜์—ด ์ฆ‰, ํ•œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
        hansu += 1

    else:
        num = list(map(int, str(i)))  #ex) 123 -> [1, 2, 3]
        if num[0] - num[1] == num[1] - num[2]:
            hansu += 1
print(hansu)
  • โ— ๋“ฑ์ฐจ์ˆ˜์—ด ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์–ด๋ ต๊ฒŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์•Œ๊ณ  ๋ณด๋‹ˆ ๋ณ„ ๊ฑฐ ์•„๋‹ˆ์—ˆ๋‹ค...
profile
FE developer

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