๋ชฉ๋ก์ฝ๋ฉํ ์คํธ/๋ฐฑ์ค(BOJ) (41)
๐ฉ๐ปโ๐พ

1๏ธโฃ๋ฌธ์ ์ค๋ช ์คํ (stack)์ ๊ธฐ๋ณธ์ ์ธ ์๋ฃ๊ตฌ์กฐ ์ค ํ๋๋ก, ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ์์ฃผ ์ด์ฉ๋๋ ๊ฐ๋ ์ด๋ค. ์คํ์ ์๋ฃ๋ฅผ ๋ฃ๋ (push) ์ ๊ตฌ์ ์๋ฃ๋ฅผ ๋ฝ๋ (pop) ์ ๊ตฌ๊ฐ ๊ฐ์ ์ ์ผ ๋์ค์ ๋ค์ด๊ฐ ์๋ฃ๊ฐ ์ ์ผ ๋จผ์ ๋์ค๋ (LIFO, Last in First out) ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค. 1๋ถํฐ n๊น์ง์ ์๋ฅผ ์คํ์ ๋ฃ์๋ค๊ฐ ๋ฝ์ ๋์ด๋์์ผ๋ก์จ, ํ๋์ ์์ด์ ๋ง๋ค ์ ์๋ค. ์ด๋, ์คํ์ pushํ๋ ์์๋ ๋ฐ๋์ ์ค๋ฆ์ฐจ์์ ์งํค๋๋ก ํ๋ค๊ณ ํ์. ์์์ ์์ด์ด ์ฃผ์ด์ก์ ๋ ์คํ์ ์ด์ฉํด ๊ทธ ์์ด์ ๋ง๋ค ์ ์๋์ง ์๋์ง, ์๋ค๋ฉด ์ด๋ค ์์๋ก push์ pop ์ฐ์ฐ์ ์ํํด์ผ ํ๋์ง๋ฅผ ์์๋ผ ์ ์๋ค. ์ด๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ. 2๏ธโฃ์ ๋ ฅ ์ฒซ ์ค์ n (1 โค n โค 100..

1๏ธโฃ๋ฌธ์ ์ค๋ช N๊ฐ์ ์ A1, A2, ..., AN๊ณผ L์ด ์ฃผ์ด์ง๋ค. Di = Ai-L+1 ~ Ai ์ค์ ์ต์๊ฐ์ด๋ผ๊ณ ํ ๋, D์ ์ ์ฅ๋ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ด๋, i โค 0 ์ธ Ai๋ ๋ฌด์ํ๊ณ D๋ฅผ ๊ตฌํด์ผ ํ๋ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ L์ด ์ฃผ์ด์ง๋ค. (1 โค L โค N โค 5,000,000) ๋์งธ ์ค์๋ N๊ฐ์ ์ Ai๊ฐ ์ฃผ์ด์ง๋ค. (-109 โค Ai โค 109) 3๏ธโฃ์ถ๋ ฅ ์ฒซ์งธ ์ค์ Di๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์์๋๋ก ์ถ๋ ฅํ๋ค. ๐ฉ๐ปโ๐ป์์ฑํ ์ฝ๋ from collections import deque n, l = map(int, input().split()) # ๋ฐ์ดํฐ ๊ฐ์, ๋ฒ์ ํฌ๊ธฐ num = list(map(int, input().split())) # ์ ๋ ฅ ๋ฐ์ n๊ฐ์..

1๏ธโฃ๋ฌธ์ ์ค๋ช ํ์์ ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ๋ ธ๋ ๊ฒ์ ์ข์ํ๋ ๋ฏผํธ๋ DNA ๋ฌธ์์ด์ ์๊ฒ ๋์๋ค. DNA ๋ฌธ์์ด์ ๋ชจ๋ ๋ฌธ์์ด์ ๋ฑ์ฅํ๋ ๋ฌธ์๊ฐ {โAโ, โCโ, โGโ, โTโ} ์ธ ๋ฌธ์์ด์ ๋งํ๋ค. ์๋ฅผ ๋ค์ด โACKAโ๋ DNA ๋ฌธ์์ด์ด ์๋์ง๋ง โACCAโ๋ DNA ๋ฌธ์์ด์ด๋ค. ์ด๋ฐ ์ ๋นํ ๋ฌธ์์ด์ ์์ ํ ๋งค๋ฃ๋ ๋ฏผํธ๋ ์์์ DNA ๋ฌธ์์ด์ ๋ง๋ค๊ณ ๋ง๋ค์ด์ง DNA ๋ฌธ์์ด์ ๋ถ๋ถ๋ฌธ์์ด์ ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ฉํ๊ธฐ๋ก ๋ง์๋จน์๋ค. ํ์ง๋ง ๋ฏผํธ๋ ์ด๋ฌํ ๋ฐฉ๋ฒ์๋ ํฐ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค. ์์์ DNA ๋ฌธ์์ด์ ๋ถ๋ถ๋ฌธ์์ด์ ๋ฝ์์ ๋ โAAAAโ์ ๊ฐ์ด ๋ณด์์ ์ทจ์ฝํ ๋น๋ฐ๋ฒํธ๊ฐ ๋ง๋ค์ด ์ง ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ๋ฏผํธ๋ ๋ถ๋ถ๋ฌธ์์ด์์ ๋ฑ์ฅํ๋ ๋ฌธ์์ ๊ฐ์๊ฐ ํน์ ๊ฐ์ ์ด์์ด์ฌ์ผ ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ฉํ ์ ..

1๏ธโฃ๋ฌธ์ ์ค๋ช N๊ฐ์ ์ ์ค์์ ์ด๋ค ์๊ฐ ๋ค๋ฅธ ์ ๋ ๊ฐ์ ํฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ค๋ฉด ๊ทธ ์๋ฅผ โ์ข๋ค(GOOD)โ๊ณ ํ๋ค. N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋ฉด ๊ทธ ์ค์์ ์ข์ ์์ ๊ฐ์๋ ๋ช ๊ฐ์ธ์ง ์ถ๋ ฅํ๋ผ. ์์ ์์น๊ฐ ๋ค๋ฅด๋ฉด ๊ฐ์ด ๊ฐ์๋ ๋ค๋ฅธ ์์ด๋ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์๋ ์์ ๊ฐ์ N(1 โค N โค 2,000), ๋ ๋ฒ์งธ ์ค์๋ i๋ฒ์งธ ์๋ฅผ ๋ํ๋ด๋ Ai๊ฐ N๊ฐ ์ฃผ์ด์ง๋ค. (|Ai| โค 1,000,000,000, Ai๋ ์ ์) 3๏ธโฃ์ถ๋ ฅ ์ข์ ์์ ๊ฐ์๋ฅผ ์ฒซ ๋ฒ์งธ ์ค์ ์ถ๋ ฅํ๋ค. ๐ฉ๐ปโ๐ป์์ฑํ ์ฝ๋ import sys input = sys.stdin.readline n = int(input())# ์ ๋ ฅ๋ฐ์ ์ ๊ฐ์ num = list(map(int, input().split()))#์ ๋ ฅ ๋ฐ์ n๊ฐ์ ๋ฐ์ดํฐ n..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์ด๋ ํ ์์ฐ์ N์, ๋ช ๊ฐ์ ์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ค. ๋น์ ์ ์ด๋ค ์์ฐ์ N(1 โค N โค 10,000,000)์ ๋ํด์, ์ด N์ ๋ช ๊ฐ์ ์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๊ฐ์ง์๋ฅผ ์๊ณ ์ถ์ดํ๋ค. ์ด๋, ์ฌ์ฉํ๋ ์์ฐ์๋ N์ดํ์ฌ์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, 15๋ฅผ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ 15, 7+8, 4+5+6, 1+2+3+4+5์ 4๊ฐ์ง๊ฐ ์๋ค. ๋ฐ๋ฉด์ 10์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ 10, 1+2+3+4์ 2๊ฐ์ง๊ฐ ์๋ค. N์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ ์ค์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. 3๏ธโฃ์ถ๋ ฅ ์ ๋ ฅ๋ ์์ฐ์ N์ ๋ช ๊ฐ์ ์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ์์ค. ๐ฉ๐ปโ๐ป์์ฑํ ์ฝ๋ n = int(input()) s, e = 1, 1 sum..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์ N๊ฐ A1, A2, ..., AN์ด ์ฃผ์ด์ง๋ค. ์ด๋, ์ฐ์๋ ๋ถ๋ถ ๊ตฌ๊ฐ์ ํฉ์ด M์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ตฌ๊ฐ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ฆ, Ai + ... + Aj (i โค j) ์ ํฉ์ด M์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ (i, j) ์์ ๊ฐ์๋ฅผ ๊ตฌํด์ผ ํ๋ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. (1 โค N โค 106, 2 โค M โค 103) ๋์งธ ์ค์ N๊ฐ์ ์ A1, A2, ..., AN์ด ์ฃผ์ด์ง๋ค. (0 โค Ai โค 109) 3๏ธโฃ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฐ์๋ ๋ถ๋ถ ๊ตฌ๊ฐ์ ํฉ์ด M์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ตฌ๊ฐ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ๐ฉ๐ปโ๐ป์์ฑํ ์ฝ๋ import sys input = sys.stdin.readline n, m = map(int, input().split())# ์ซ์ ..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์ฃผ๋ชฝ์ ์ฒ ๊ธฐ๊ตฐ์ ์์ฑํ๊ธฐ ์ํ ํ๋ก์ ํธ์ ๋์ฐ๋ค. ๊ทธ๋์ ์ผ์ฒ ๋์ฅ์ ํตํด ์ฒ ๊ธฐ๊ตฐ์ด ์ ์ ๊ฐ์ท์ ๋ง๋ค๊ฒ ํ์๋ค. ์ผ์ฒ ๋์ฅ์ ์ฃผ๋ชฝ์ ๋ช ์ ๋ฐ๋ฅด๊ธฐ ์ํ์ฌ ์ฐ๊ตฌ์ ์ฐฉ์ํ๋ ์ค ์๋์ ๊ฐ์ ์ฌ์ค์ ๋ฐ๊ฒฌํ๊ฒ ๋์๋ค. ๊ฐ์ท์ ๋ง๋๋ ์ฌ๋ฃ๋ค์ ๊ฐ๊ฐ ๊ณ ์ ํ ๋ฒํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๊ฐ์ท์ ๋ ๊ฐ์ ์ฌ๋ฃ๋ก ๋ง๋๋๋ฐ ๋ ์ฌ๋ฃ์ ๊ณ ์ ํ ๋ฒํธ๋ฅผ ํฉ์ณ์ M(1 โค M โค 10,000,000)์ด ๋๋ฉด ๊ฐ์ท์ด ๋ง๋ค์ด ์ง๊ฒ ๋๋ค. ์ผ์ฒ ๋์ฅ์ ์์ ์ด ๋ง๋ค๊ณ ์๋ ์ฌ๋ฃ๋ฅผ ๊ฐ์ง๊ณ ๊ฐ์ท์ ๋ช ๊ฐ๋ ๋ง๋ค ์ ์๋์ง ๊ถ๊ธํด์ก๋ค. ์ด๋ฌํ ๊ถ๊ธ์ฆ์ ํ์ด ์ฃผ๊ธฐ ์ํ์ฌ N(1 โค N โค 15,000) ๊ฐ์ ์ฌ๋ฃ์ M์ด ์ฃผ์ด์ก์ ๋ ๋ช ๊ฐ์ ๊ฐ์ท์ ๋ง๋ค ์ ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์๋ ์ฌ๋ฃ์ ๊ฐ์ N(1 โค..

1๏ธโฃ๋ฌธ์ ์ค๋ช NรN๊ฐ์ ์๊ฐ NรN ํฌ๊ธฐ์ ํ์ ์ฑ์์ ธ ์๋ค. (x1, y1)๋ถํฐ (x2, y2)๊น์ง ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. (x, y)๋ xํ y์ด์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด, N = 4์ด๊ณ , ํ๊ฐ ์๋์ ๊ฐ์ด ์ฑ์์ ธ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์. 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 ์ฌ๊ธฐ์ (2, 2)๋ถํฐ (3, 4)๊น์ง ํฉ์ ๊ตฌํ๋ฉด 3+4+5+4+5+6 = 27์ด๊ณ , (4, 4)๋ถํฐ (4, 4)๊น์ง ํฉ์ ๊ตฌํ๋ฉด 7์ด๋ค. ํ์ ์ฑ์์ ธ ์๋ ์์ ํฉ์ ๊ตฌํ๋ ์ฐ์ฐ์ด ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ์ ํฌ๊ธฐ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. (1 โค N โค 1024, 1 โค M โค 100,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์ N๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ ์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ํฉ์ ๊ตฌํด์ผ ํ๋ ๊ตฌ๊ฐ i์ j๊ฐ ์ฃผ์ด์ง๋ค. 3๏ธโฃ์ถ๋ ฅ ์ด M๊ฐ์ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ์ถ๋ ฅํ๋ค. ๐ฉ๐ปโ๐ป์์ฑํ ์ฝ๋ import sys input = sys.stdin.readline numN, sumN = map(int, input().split())# ์ซ์ ๊ฐ์, ๊ตฌ๊ฐ์ ํฉ์ ๊ตฌํ ํ์ num = list(map(int, input().split()))# ์ ๋ ฅ ๋ฐ์ ์ซ์ sum =..

1๏ธโฃ๋ฌธ์ ์ค๋ช ์ธ์ค์ด๋ ๊ธฐ๋ง๊ณ ์ฌ๋ฅผ ๋ง์ณค๋ค. ์ธ์ค์ด๋ ์ ์๋ฅผ ์กฐ์ํด์ ์ง์ ๊ฐ์ ธ๊ฐ๊ธฐ๋ก ํ๋ค. ์ผ๋จ ์ธ์ค์ด๋ ์๊ธฐ ์ ์ ์ค์ ์ต๋๊ฐ์ ๊ณจ๋๋ค. ์ด ๊ฐ์ M์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ๋ชจ๋ ์ ์๋ฅผ ์ ์/M*100์ผ๋ก ๊ณ ์ณค๋ค. ์๋ฅผ ๋ค์ด, ์ธ์ค์ด์ ์ต๊ณ ์ ์ด 70์ด๊ณ , ์ํ์ ์๊ฐ 50์ด์์ผ๋ฉด ์ํ์ ์๋ 50/70*100์ด ๋์ด 71.43์ ์ด ๋๋ค. ์ธ์ค์ด์ ์ฑ์ ์ ์์ ๋ฐฉ๋ฒ๋๋ก ์๋ก ๊ณ์ฐํ์ ๋, ์๋ก์ด ํ๊ท ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2๏ธโฃ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ํ ๋ณธ ๊ณผ๋ชฉ์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 1000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋์งธ ์ค์ ์ธ์ค์ด์ ํ์ฌ ์ฑ์ ์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ด ์๋ ์ ์์ด๊ณ , ์ ์ด๋ ํ๋์ ๊ฐ์ 0๋ณด๋ค ํฌ๋ค. 3๏ธโฃ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์๋ก์ด ํ๊ท ์ ์ถ๋ ฅํ๋ค. ์ค์ ..