์ ์ฒด ๊ธ (424) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ฐพ๊ธฐ ๋ด ์ฝ๋ def solution(n): a = set([i for i in range(2,n+1)]) for i in range(2,n): a-=set([k*i for k in range(2,n//i+1)]) return len(a) ์๋ผํ ์คํ ๋ค์ค์ ์ฒด~ ์ด๊ฑธ๋ก ์ํธ๋๊น ์๊ฐ์ด๊ณผ๋๋๋ผใ ๋ค๋ฅธ์ฌ๋ ์ฝ๋ def solution(n): num=set(range(2,n+1)) for i in range(2,n+1): if i in num: num-=set(range(2*i,n+1,i)) return len(num) ์ด์ฌ๋๋ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ก ํ์๋๋ฐ ๋๋ณด๋ค ๋ ํจ์จ์ ์ด๊ฒ ํ์๋ค! ์ผ๋จ ์ฒ์์ set์ ๋ง๋ค๋ range์ด๋ ๊ฒ๋ง ํด๋ ๋ง๋ค์ด์ง๋ค. for๋ฌธ์์ ๋ฒ์๋ฅผ n+1๊น์ง ๋๋ ค์ผํ๋ค. ๋๋ n๊น์ง ๋๋ ธ๋๋ฐ .. [ํ๋ก๊ทธ๋๋จธ์ค] 3์ง๋ฒ ๋ค์ง๊ธฐ ๋ด ์ฝ๋ def solution(n): a = '' while n>=3: a += str(n%3) n = n//3 a+=str(n) a = int(a) return sum([int(j)*(3**(len(str(a))-i-1)) for i,j in enumerate(str(a))]) a์ 3์ง๋ฒ ๋ค์ง์ ์๋ฅผ ์ ์ฅํ๊ณ 10์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ์ ์ถ๋ ฅํ์๋ค. ๋ค๋ฅธ์ฌ๋ ์ฝ๋ def solution(n): tmp = '' while n: tmp += str(n % 3) n = n // 3 answer = int(tmp, 3) return answer n์ while๋ฌธ์ ๋๋ฆด๋ 0๋ณด๋ค ํฌ๊ฒํ๋ฉด ๋์ฒ๋ผ ๋ง์ง๋ง์ ํ๋ฒ๋ ๋ํด์คํ์๊ฐ ์๋ค. 10์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ๋๋ int(tmp,3)์ด๋ ๊ฒ ์ ์ผ๋ฉด ๋ฐ๋ก 10์ง๋ฒ์ด ์ถ๋ ฅ๋๋ค. ์ด๋ .. [ํ๋ก๊ทธ๋๋จธ์ค] ๋ด์ ๋ด ์ฝ๋ def solution(a, b): return sum([i*j for i,j in zip(a,b)]) ๋ค๋ฅธ์ฌ๋ ์ฝ๋๋ ๋๊ฐ๋ค! ์ฌ์ ใ ใ [ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๋ํ๊ธฐ ๋ด ์ฝ๋ def solution(absolutes, signs): sol=0 for a,s in zip(absolutes, signs): if s==False: sol-=a else: sol+=a return sol zip์ผ๋ก ํ๋์ฉ ๋นผ์ ๋ํด์ฃผ์๋ค. ๋ค๋ฅธ์ฌ๋ ์ฝ๋ def solution(absolutes, signs): return sum(absolutes if sign else -absolutes for absolutes, sign in zip(absolutes, signs)) ๋ด์ฝ๋๋ฅผ ํ์ค๋ก ์ค์ธ๊ฑฐ๋ค. [ํ๋ก๊ทธ๋๋จธ์ค] ํฐ ์ ๋ง๋ค๊ธฐ ๋ด ์ฝ๋ def solution(number, k): cur=0 delete=0 while True: if delete == k: break if number[cur] < number[cur+1]: if cur!=0: number = number[:cur] + number[cur+1:] cur-=1 else: number = number[cur+1:] delete+=1 else: cur+=1 if cur == len(number)-1: break if k!=delete: number = number[:delete-k] return number k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ฌ ๊ฐ์ฅ ํฐ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์ฒ์์ ๋ฌธ์์ด์ list๋ก ๋ณํํด์ ํ์๋๋ฐ ์๊ฐ์ด๊ณผ๊ฐ ๋์๋คใ ใ list๋ฅผ ์ฌ์ฉํ ๋๋ list๋ก ๋ณํํ๊ณ p.. [ํ๋ก๊ทธ๋๋จธ์ค] ์กฐ์ด์คํฑ ๋ด ์ฝ๋ def solution(name): answer = 0 cursor = 0 l = [chr(ord('A')+i) for i in range(26)] s = ['A' for i in range(len(name))] while True: i = 0 idx = l.index(name[cursor]) answer += min(idx,26-idx) s[cursor] = name[cursor] if s == list(name): break while True: if s[(cursor+i)%len(s)] != name[(cursor+i)%len(s)]: cursor+=i answer+=i break elif s[(cursor-i)%len(s)] != name[(cursor-i)%len(s)]: cursor-.. [ํ๋ก๊ทธ๋๋จธ์ค] ์ฒด์ก๋ณต ๋ด ์ฝ๋ def solution(n, lost, reserve): a = set(lost) & set(reserve) lost = set(lost) - a reserve = set(reserve) - a for i in range(1,n+1): if i in lost: if i-1 in reserve: lost-={i} reserve-={i-1} elif i+1 in reserve: lost-={i} reserve-={i+1} return n - len(lost) ๋จผ์ lost์ reserve์์ ์ค๋ณต๋๋ ์ซ์๋ฅผ ๋นผ์ค๋ค. for ๋ฌธ์ n+1๊น์ง ๋๋ ค์ ์ฒด์ก๋ณต์ ์์ด๋ฒ๋ฆฐ ํ์ ์งํฉ(lost)์ i๊ฐ ์กด์ฌํ๋ฉด i ์, ๋ค ์ซ์(+1,-1)๊ฐ ์ฌ๋ถ ์ฒด์ก๋ณต์ด ๋จ๋ ํ์ ์งํฉ(reserve)์ ์๋์ง ๋ณธ๋ค. ์กด์ฌ.. [ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ฐพ๊ธฐ ๋ด ์ฝ๋ def solution(numbers): import itertools answer = 0 a = [] l = [i for i in str(numbers)] for i in range(1,len(l)+1): b = list(itertools.permutations(l,i)) a += [int("".join(i)) for i in b] a = set(a) for i in a: if i ์ด์ 1 ยทยทยท 39 40 41 42 43 44 45 ยทยทยท 53 ๋ค์