[TIL_Carrotww] 5

μœ ν˜•μ„Β·2022λ…„ 9μ›” 2일
0

TIL

λͺ©λ‘ 보기
5/138
post-thumbnail

πŸ“python λ°±μ€€

🧲 문제

πŸ”λ°±μ€€ μ…€ν”„λ„˜λ²„ 4673번
https://www.acmicpc.net/problem/4673

πŸ”set() μžλ£Œν˜•μ„ μ•ˆλ‹€λ©΄ ν’€ 수 μžˆλŠ” λ¬Έμ œλ‹€.

  • 팁
    set은 list처럼 μš”μ†Œλ₯Ό μΆ”κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€
a = list()
a.append(1)
###########
b = set()
b.add(1)

set 은 addλ₯Ό μ‚¬μš©ν•œλ‹€.

πŸ’‘ μ½”λ“œ

num = set(range(1, 10000))
create_num = set()

for i in num:
    for x in str(i):
        i += int(x)
    create_num.add(i)

result = list(num - create_num)
result.sort()
for i in result:
    print(i)
print(result)

πŸ” num 에 λ¬Έμ œμ—μ„œ μ •ν•΄μ€€ 10000κΉŒμ§€ 숫자λ₯Ό set으둜 μ΄ˆκΈ°ν™” ν•œ ν›„
μƒμ„±μžκ°€ μžˆλŠ”(μ…€ν”„ λ„˜λ²„κ°€ μ•„λ‹Œ) μˆ«μžλ“€μ„ creat_num에 λ‹΄λŠ”λ‹€
κ·Έ ν›„ set은 차집합이 κ°€λŠ₯ν•˜μ—¬ result에 μ…€ν”„ λ„˜λ²„λ₯Ό λ‹΄μ•„ μ£Όμ—ˆλ‹€.

🧲 κΈ°μ–΅ν•˜κΈ°

πŸ” μ½”λ”© ν…ŒμŠ€νŠΈμ‹œ whileλ¬Έμ΄λ‚˜ for λ¬Έμ•ˆμ—

if node in summits:
	(#summits λ¦¬μŠ€νŠΈμ— nodeκ°€ μžˆλ‹€λ©΄)

μœ„μ™€ 같은 μ½”λ“œκ°€ 계속 λ°˜λ³΅λœλ‹€λ©΄ 리슀트 탐색 (N) 을 계속 ν•˜κΈ°λ•Œλ¬Έμ— summits 자체λ₯Ό set() 으둜 λ°”κΎΈμ–΄ μ£Όλ©΄ ν•΄μ‹œ 탐색을 ν•˜μ—¬ 훨씬 빨라진닀.

summits = set(summits)
profile
Carrot_hyeong

0개의 λŒ“κΈ€