๐ง ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ํจ์
def decimal(num): for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return Trueโ
for i in range(2, 100): if decimal(i): print(i, end = " ")โโ
์์ ๊ณผ์ ์ ํตํด ๊ธฐ์กด์ ๋ฆฌ์คํธ์ ๋์ ํ์ฌ ์ ์ฅํ๋ ๋ฐฉ์๋ณด๋ค ๋์ฑ ์งง์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ๊ณ ์์๋ฅผ ๋์ถํด ๋ผ ์ ์๋ค.
๐ง ํ๋ฌธ ( Palindrome )
ํ๋ฌธ(ๅๆ) ๋๋ ํฐ๋ฆฐ๋๋กฌ(palindrome)์ ๊ฑฐ๊พธ๋ก ์ฝ์ด๋ ์ ๋๋ก ์ฝ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฌธ์ฅ์ด๋ ๋ฑ๋ง, ์ซ์, ๋ฌธ์์ด(sequence of characters) ๋ฑ์ด๋ค. ๋ณดํต ๋ฑ๋ง ์ฌ์ด์ ์๋ ๋์ด์ฐ๊ธฐ๋ ๋ฌธ์ฅ ๋ถํธ๋ ๋ฌด์ํ๋ค.
์ด๋ฐ ํ๋ฌธ์ ๋ํ ๊ตฌํ์ ํ์ด์ฌ์ ๋ค๋ฅธ ์ธ์ด์ ๋ค๋ฅด๊ฒ ๊ฐ๋จํ๊ฒ ๊ตฌํํ ์ ์๋ค๋ ์ ์์ ๋จ์ฐ ํ์ด์ฌ์ ๋งค๋ ฅ์ด ๋๋ณด์ธ๋ค.
๋ค์๊ณผ ๊ฐ์ด ํ๋ฌธ์ ๊ตฌํํ ์ ์๋ค.
[์ซ์์ธ ๊ฒฝ์ฐ ํ๋ฌธ์ธ์ง ํ์ธํ๋ ๋ฒ]
a, b = map(int,input().split()) # a~b๋ฒ์ ์ฌ์ด ํ๋ฌธ ๋ชจ๋ ๊ตฌํ๊ธฐ palindrome = [i for i in range(a,b+1) if str(i) == str(i)[::-1]]
[๋ฌธ์์ธ ๊ฒฝ์ฐ ํ๋ฌธ์ธ์ง ํ์ธํ๋ ๋ฒ]
string = input() if string == string[::-1]: print("palindrome")โ
# a,b=map(int,input().split())
# print('%0.9f'%(a/b)) // ์ ๋,์๋์ค์ฐจ๋ ์์์ 9๋ฒ์งธ ์๋ฆฌ(0.1e-9)๊น์ง ํ์ฉ
๐ง ์ ๋์ค์ฐจ, ์๋์ค์ฐจ์ ํํ
๋ฐฑ์ค์ ํ๋ค๋ณด๋ฉด ์๋ก ๊ฐ์๋ก ์ํ, ๊ธฐํ๋ฌธ์ ์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ณด๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋ค.
์ด์ ๋ํด ์ด๋ค ๋ฐฉ์์ผ๋ก ์ถ๋ ฅ์ ํด์ผํ ์ง ๊ฐ์๊ธฐ ๋งํ ์ ์๊ธฐ์ ์ด๋ฒ๊ธฐํ์ ์ง๊ณ ๋์ด๊ฐ๊ณ ์ ํ๋ค.
๋ค๋ง, 10^-9 ์ดํ์ ์ค์ฐจ๋ฅผ ํ์ฉํ๋ค๋ ๋ง์ด ๊ผญ ์์ 9๋ฒ์งธ์๋ฆฌ๊น์ง๋ง ์ถ๋ ฅํ๋ผ๋ ๊ฒ์ ์๋๋ค.
์๋ก ๋ฐฑ์ค1008๋ฒ์ ์๋ก ๋ค๊ฒ ๋ค.
์์์ 9๋ฒ์งธ์๋ฆฌ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
a, b = map(float,input().split()) print('%0.9f'%(a/b)) // ์ ๋,์๋์ค์ฐจ๋ ์์์ 9๋ฒ์งธ ์๋ฆฌ(0.1e-9)๊น์ง ํ์ฉโโ
์์ซ์ ์์ ์ซ์๋ ์ ์ฒด ๊ธธ์ด๋ฅผ ์ ํ ๋ฌธ์์ด ๊ณต๊ฐ ์๋ฅผ ์๋ฏธํจ( 0์ ์ ํ์ง ์์์ ์๋ฏธ ) ์์ซ์ ('.')๋ค์ ์ซ์9๋ ์์ซ์ ๋ค์ ๋์ฌ ์ซ์์ ๊ฐ์๋ฅผ ์๋ฏธํจ <์์ฃผ์ฐ๋ ๋ฌธ์์ด ํฌ๋งท ์ฝ๋ ์ข ๋ฅ > %s: ๋ฌธ์์ด(string) %c: ๋ฌธ์ 1๊ฐ (character) %d:์ ์(integer) %f:๋ถ๋์์(floating- point) %%: ๋ฌธ์ %์์ฒดโ
๐ง ๋ฐฑ์ค 1990 (์์์ธ ํ๋ฌธ) Gold V
๐คซ solution_1990(์๊ฐ์ด๊ณผ)import math, sys input = sys.stdin.readline a, b = map(int, input().split()) dec = [i for i in range(b+1)] dec_first = [] for i in range(2, int(b**0.5) + 1): if i in dec: dec_first.append(i) dec = [j for j in dec if j%i != 0] decimal = dec_first + dec ans = [] def palindrome(num): string_num = str(num) num_len = len(string_num) if string_num[:num_len // 2] == string_num[math.ceil(num_len / 2):][::-1]: if num in decimal: ans.append(num) for i in range(a, b+1): palindrome(i) ans.append(-1) print(*ans, sep = "\n")
๐คซ solution_1990
a, b = map(int,input().split()) def decimal(num): for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True #10,000,000์ด์์ธ ํฐ๋ฆฐ๋๋กฌ์๋ ์กด์ฌ X if b > 10000000 : b=10000000 palindrome = [i for i in range(a,b+1) if str(i) == str(i)[::-1]] for i in palindrome: if decimal(i): print(i) print(-1)
๐ง ๋ฐฑ์ค 15927 (ํ๋ฌธ์ ํ๋ฌธ์ด ์๋์ผ!) Gold V
๐คซ Algorithm1) ๋ฌธ์์ด ์ ์ฒด๊ฐ ํ๋ฌธ์ด ์๋๋ฉด ๋ต์ ๋ฌธ์์ด์ ๊ธธ์ด์ด๋ค. 2) ๋ฌธ์์ด ์ ์ฒด๊ฐ ํ๋ฌธ์ผ ๋, i) ๋ฌธ์์ด ์ ์ฒด๊ฐ ๋ชจ๋ ๊ฐ์ ๋ฌธ์์ผ ๋ ํฐ๋ฆฐ๋๋กฌ์ด ์๋ ๋ถ๋ถ ๋ฌธ์์ด์ด ์กด์ฌํ์ง ์๊ธฐ์ ๋ต์ -1์ด๋ค. ii) ์ฒ์ ๋๋ ๋์ ๋ฌธ์ ํ๋๋ง ์ ์ธํ ๋ฌธ์์ด์ ํฐ๋ฆฐ๋๋กฌ์ด ์๋๊ธฐ์ ๋ต์ (์๋ ๋ฌธ์์ด์ ๊ธธ์ด - 1)์ด๋ค.
๐คซ solution_15927string = input() ans = 0 if string == string[::-1]: if string[:len(string) // 2 + 1] == string[:len(string) // 2 + 1][::-1]: ans = -1 else: ans = len(string) - 1 else: ans = len(string) print(ans)
๐ง ๋ฐฑ์ค 11664 (CCW, ์ธ์ ) Gold V
๐คซ Algorithm
# ์ a๋ฅผ ์ ๋ถ์ ์ผ์ชฝ์ ์๋ ์ , ์ b๋ฅผ ์ ๋ถ์ ์ค๋ฅธ์ชฝ์ ์๋ ์ ์ด๋ผ ํ์. # ์ a์ ์ b์ ์ค๊ฐ์ m์ ๊ตฌํ๋ค. # l = ์ a์ ์ c์ ๊ฑฐ๋ฆฌ # r = ์ b์ ์ c์ ๊ฑฐ๋ฆฌ # h = ์ m๊ณผ ์ c์ ๊ฑฐ๋ฆฌ # ๋ง์ฝ h๊ฐ ํ์ฌ ์กด์ฌํ๋ ์ต์๊ฐ ans๋ณด๋ค ์๋ค๋ฉด, ans๋ฅผ h๋ก ๊ฐฑ์ ํด์ค๋๋ค. # ๋ง์ฝ l์ด r๋ณด๋ค ํฌ๋ค๋ฉด, c๊ฐ a๋ณด๋ค b์ ๋ ๊ฐ๊น๊ฒ ์๋ค๋ ๋ป์ด๋ฏ๋ก ์ a๋ฅผ ์ m์ผ๋ก ๋ฐ๊ฟ์ค๋ค. # (์ด๋ถํ์์ ์งํํด์ผ ํ๋ฏ๋ก ๋ ๊ฐ๊น์ด ์ชฝ์ผ๋ก ๋ฒ์๋ฅผ ์ขํ์ค์ผ ํ๊ธฐ ๋๋ฌธ.) # ๋ฐ๋๋ก r์ด l๋ณด๋ค ํฌ๋ค๋ฉด c๊ฐ b๋ณด๋ค a์ ๋ ๊ฐ๊น๊ฒ ์๋ค๋ ๋ป์ด๋ฏ๋ก ์ b๋ฅผ ์ m์ผ๋ก ๋ฐ๊ฟ์ค๋ค.
๐คซ solution_11664ax,ay,az,bx,by,bz,cx,cy,cz = map(int,input().split()) ans = float('inf') while True: mx,my,mz = (ax+bx)/2,(ay+by)/2,(az+bz)/2 l = ((ax-cx)**2+(ay-cy)**2+(az-cz)**2)**0.5 h = ((mx-cx)**2+(my-cy)**2+(mz-cz)**2)**0.5 r = ((bx-cx)**2+(by-cy)**2+(bz-cz)**2)**0.5 if abs(ans-h) <= 1e-6: print('%0.10f'%ans) exit() if h < ans: ans = h if l > r: ax,ay,az = mx,my,mz else: bx,by,bz = mx,my,mz