๋ชฉ๋ก์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๋ฐฑ์ค€(BOJ) (41)

728x90

๐Ÿ‘ฉ๐Ÿป‍๐ŸŒพ

[๋ฐฑ์ค€/Python] 18870๋ฒˆ ์ขŒํ‘œ ์••์ถ•

1๏ธโƒฃ ๋ฌธ์ œ ์„ค๋ช… ์ˆ˜์ง์„  ์œ„์— N๊ฐœ์˜ ์ขŒํ‘œ X1, X2, ..., XN์ด ์žˆ๋‹ค. ์ด ์ขŒํ‘œ์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Xi๋ฅผ ์ขŒํ‘œ ์••์ถ•ํ•œ ๊ฒฐ๊ณผ X'i์˜ ๊ฐ’์€ Xi > Xj๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ขŒํ‘œ์˜ ๊ฐœ์ˆ˜์™€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. X1, X2, ..., XN์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ X'1, X'2, ..., X'N๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์ž. 2๏ธโƒฃ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ณต๋ฐฑ ํ•œ ์นธ์œผ๋กœ ๊ตฌ๋ถ„๋œ X1, X2, ..., XN์ด ์ฃผ์–ด์ง„๋‹ค. 3๏ธโƒฃ ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— X'1, X'2, ..., X'N์„ ๊ณต๋ฐฑ ํ•œ ์นธ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ์ž‘์„ฑํ•œ ์ฝ”๋“œ import sys import heapq input = sys.stdin.readline n = int(input()) pos = list(map(i..

[๋ฐฑ์ค€/Python] 18352๋ฒˆ ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ

1๏ธโƒฃ๋ฌธ์ œ ์„ค๋ช… ์–ด๋–ค ๋‚˜๋ผ์—๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€์˜ ๋„์‹œ์™€ M๊ฐœ์˜ ๋‹จ๋ฐฉํ–ฅ ๋„๋กœ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋ชจ๋“  ๋„๋กœ์˜ ๊ฑฐ๋ฆฌ๋Š” 1์ด๋‹ค. ์ด ๋•Œ ํŠน์ •ํ•œ ๋„์‹œ X๋กœ๋ถ€ํ„ฐ ์ถœ๋ฐœํ•˜์—ฌ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋„์‹œ ์ค‘์—์„œ, ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๊ฐ€ ์ •ํ™•ํžˆ K์ธ ๋ชจ๋“  ๋„์‹œ๋“ค์˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋˜ํ•œ ์ถœ๋ฐœ ๋„์‹œ X์—์„œ ์ถœ๋ฐœ ๋„์‹œ X๋กœ ๊ฐ€๋Š” ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋Š” ํ•ญ์ƒ 0์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด N=4, K=2, X=1์ผ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ๋ž˜ํ”„๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ด ๋•Œ 1๋ฒˆ ๋„์‹œ์—์„œ ์ถœ๋ฐœํ•˜์—ฌ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„์‹œ ์ค‘์—์„œ, ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๊ฐ€ 2์ธ ๋„์‹œ๋Š” 4๋ฒˆ ๋„์‹œ ๋ฟ์ด๋‹ค. 2๋ฒˆ๊ณผ 3๋ฒˆ ๋„์‹œ์˜ ๊ฒฝ์šฐ, ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๊ฐ€ 1์ด๊ธฐ ๋•Œ๋ฌธ์— ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค. 2๏ธโƒฃ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ N, ๋„๋กœ์˜ ๊ฐœ์ˆ˜ M, ๊ฑฐ๋ฆฌ ์ •๋ณด K, ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ X..

[๋ฐฑ์ค€/Python] 1033๋ฒˆ ์นตํ…Œ์ผ

1๏ธโƒฃ๋ฌธ์ œ ์„ค๋ช… august14๋Š” ์„ธ์ƒ์—์„œ ๊ฐ€์žฅ ๋ง›์žˆ๋Š” ์นตํ…Œ์ผ์ด๋‹ค. ์ด ์นตํ…Œ์ผ์„ ๋งŒ๋“œ๋Š” ์ •ํ™•ํ•œ ๋ฐฉ๋ฒ•์€ ์•„์ง ์„ธ์ƒ์— ๊ณต๊ฐœ๋˜์ง€ ์•Š์•˜์ง€๋งŒ, ๋“ค์–ด๊ฐ€๋Š” ์žฌ๋ฃŒ N๊ฐœ๋Š” ๊ณต๊ฐœ๋˜์–ด ์žˆ๋‹ค. ๊ฒฝ๊ทผ์ด๋Š” ์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์„ ํ†ตํ•ด์„œ ์žฌ๋ฃŒ ์Œ N-1๊ฐœ์˜ ๋น„์œจ์„ ์•Œ์•„๋ƒˆ๊ณ , ์ด ๋น„์œจ์„ ์ด์šฉํ•ด์„œ ์นตํ…Œ์ผ์— ๋“ค์–ด๊ฐ€๋Š” ์ „์ฒด ์žฌ๋ฃŒ์˜ ๋น„์œจ์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์ด ์žฌ๋ฃŒ ์Œ N-1๊ฐœ์˜ ๋น„์œจ์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ์นตํ…Œ์ผ์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ๊ฐ ์žฌ๋ฃŒ์˜ ์–‘์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ด๋•Œ, ํ•„์š”ํ•œ ์žฌ๋ฃŒ์˜ ์งˆ๋Ÿ‰์„ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์ด ์ตœ์†Œ๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. ์นตํ…Œ์ผ์„ ๋งŒ๋“œ๋Š” ์žฌ๋ฃŒ์˜ ์–‘์€ ์ •์ˆ˜์ด๊ณ , ์ด ์งˆ๋Ÿ‰์€ 0๋ณด๋‹ค ์ปค์•ผํ•œ๋‹ค. ๋น„์œจ์€ "a b p q"์™€ ๊ฐ™์€ ํ˜•์‹์ด๊ณ , a๋ฒˆ ์žฌ๋ฃŒ์˜ ์งˆ๋Ÿ‰์„ b๋ฒˆ ์žฌ๋ฃŒ์˜ ์งˆ๋Ÿ‰์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ด p/q๋ผ๋Š” ๋œป์ด๋‹ค. 2๏ธโƒฃ์ž…๋ ฅ ์ฒซ์งธ ์ค„์—..

[๋ฐฑ์ค€/Python] 1934๋ฒˆ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

1๏ธโƒฃ๋ฌธ์ œ ์„ค๋ช… ๋‘ ์ž์—ฐ์ˆ˜ A์™€ B์— ๋Œ€ํ•ด์„œ, A์˜ ๋ฐฐ์ˆ˜์ด๋ฉด์„œ B์˜ ๋ฐฐ์ˆ˜์ธ ์ž์—ฐ์ˆ˜๋ฅผ A์™€ B์˜ ๊ณต๋ฐฐ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฐ ๊ณต๋ฐฐ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 6๊ณผ 15์˜ ๊ณต๋ฐฐ์ˆ˜๋Š” 30, 60, 90๋“ฑ์ด ์žˆ์œผ๋ฉฐ, ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋Š” 30์ด๋‹ค. ๋‘ ์ž์—ฐ์ˆ˜ A์™€ B๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, A์™€ B์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 2๏ธโƒฃ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 ≤ T ≤ 1,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ T๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ A, B ≤ 45,000) 3๏ธโƒฃ์ถœ๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ T๊ฐœ์˜ ์ค„์— A์™€ B์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ์ˆœ์„œ๋Œ€๋กœ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป์ž‘์„ฑํ•œ ์ฝ”๋“œ def GCD(a, b): if b == 0: return a ..

[๋ฐฑ์ค€/Python] 1456๋ฒˆ ๊ฑฐ์˜ ์†Œ์ˆ˜

1๏ธโƒฃ๋ฌธ์ œ ์„ค๋ช… ์–ด๋–ค ์ˆ˜๊ฐ€ ์†Œ์ˆ˜์˜ N์ œ๊ณฑ(N ≥ 2) ๊ผด์ผ ๋•Œ, ๊ทธ ์ˆ˜๋ฅผ ๊ฑฐ์˜ ์†Œ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ๋‘ ์ •์ˆ˜ A์™€ B๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, A๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , B๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฑฐ์˜ ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ถœ๋ ฅํ•œ๋‹ค. 2๏ธโƒฃ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์™ผ์ชฝ ๋ฒ”์œ„ A์™€ ์˜ค๋ฅธ์ชฝ ๋ฒ”์œ„ B๊ฐ€ ๊ณต๋ฐฑ ํ•œ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. 3๏ธโƒฃ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ด ๋ช‡ ๊ฐœ๊ฐ€ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป์ž‘์„ฑํ•œ ์ฝ”๋“œ import math minV, maxV = map(int, input().split())# ์™ผ์ชฝ ๋ฒ”์œ„, ์˜ค๋ฅธ์ชฝ ๋ฒ”์œ„ prime = [True] * (int(maxV ** 0.5) + 1) # ์†Œ์ˆ˜ ํŒ๋ณ„ ์—ฌ๋ถ€ ์ €์žฅ prime[1] = False cnt = 0 for i in range(2, int(maxV ** 0.5) + 1): if prime..

[๋ฐฑ์ค€/Python] 1747๋ฒˆ ์†Œ์ˆ˜ & ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜ ์ค‘์—์„œ ์ตœ์†Ÿ๊ฐ’ ์ฐพ๊ธฐ

1๏ธโƒฃ๋ฌธ์ œ ์„ค๋ช… ์–ด๋–ค ์ˆ˜์™€ ๊ทธ ์ˆ˜์˜ ์ˆซ์ž ์ˆœ์„œ๋ฅผ ๋’ค์ง‘์€ ์ˆ˜๊ฐ€ ์ผ์น˜ํ•˜๋Š” ์ˆ˜๋ฅผ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 79,197๊ณผ 324,423 ๋“ฑ์ด ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜์ด๋‹ค. ์–ด๋–ค ์ˆ˜ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, N๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , ์†Œ์ˆ˜์ด๋ฉด์„œ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ์ˆ˜ ์ค‘์—์„œ, ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 2๏ธโƒฃ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. 3๏ธโƒฃ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป์ž‘์„ฑํ•œ ์ฝ”๋“œ def Eratos(checkPrime): for i in range(2, int(checkPrime ** 0.5) + 1): if int(checkPrime) % i == 0: return False return True n = int(input())# ์–ด๋–ค ์ˆ˜ N answ..

[๋ฐฑ์ค€/Python] 1181๋ฒˆ ๋‹จ์–ด ์ •๋ ฌ

1๏ธโƒฃ๋ฌธ์ œ ์„ค๋ช… ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ N๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๊ธธ์ด๊ฐ€ ์งง์€ ๊ฒƒ๋ถ€ํ„ฐ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๋‹จ, ์ค‘๋ณต๋œ ๋‹จ์–ด๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค. 2๏ธโƒฃ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. 3๏ธโƒฃ์ถœ๋ ฅ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜์—ฌ ๋‹จ์–ด๋“ค์„ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป์ž‘์„ฑํ•œ ์ฝ”๋“œ import sys input = sys.stdin.readline n = int(input()) # ๋‹จ์–ด ๊ฐœ์ˆ˜ A = [0] * n# ์ž…๋ ฅ ๋ฐ›์€ ๋‹จ์–ด๋“ค ์ €์žฅ for i in range(n): A[i] = ..

[๋ฐฑ์ค€/Python] 1541๋ฒˆ ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

1๏ธโƒฃ๋ฌธ์ œ ์„ค๋ช… ์„ธ์ค€์ด๋Š” ์–‘์ˆ˜์™€ +, -, ๊ทธ๋ฆฌ๊ณ  ๊ด„ํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์‹์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ๋ชจ๋‘ ์ง€์› ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 2๏ธโƒฃ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค ๋งŽ์ด ์—ฐ์†๋˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค. ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์‹์˜ ๊ธธ์ด๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. 3๏ธโƒฃ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป์ž‘์„ฑํ•œ ์ฝ”๋“œ import sys input = sys.stdin.read..