๐์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค
๋ฌธ์ ๊น์ง์์ด ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๊ณผ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ด ์ฃผ์ด์ง ๋, ๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์์ด ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ๊ธธ์ด๋ 20 ์ดํ์ด๋ค. N, M์ 500,000 ์ดํ์ ์์ฐ์์ด๋ค. ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์๋ ์ค๋ณต๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ์ถ๋ ฅ ๋ฃ๋ณด์ก์ ์์ ๊ทธ ๋ช ๋จ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค. ์ ๋ต import sys input = sys.stdin.readline N, M = map(int, ..
๋ฌธ์ ์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์ ์์ฌ์ FIFO - First In First Out - ์ ๋ฐ๋ผ ์ธ์๊ฐ ๋๊ฒ ๋๋ค. ํ์ง๋ง ์๊ทผ์ด๋ ์๋ก์ด ํ๋ฆฐํฐ๊ธฐ ๋ด๋ถ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ์๋๋ฐ, ์ด ํ๋ฆฐํฐ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ธ์๋ฅผ ํ๊ฒ ๋๋ค. ํ์ฌ Queue์ ๊ฐ์ฅ ์์ ์๋ ๋ฌธ์์ ‘์ค์๋’๋ฅผ ํ์ธํ๋ค. ๋๋จธ์ง ๋ฌธ์๋ค ์ค ํ์ฌ ๋ฌธ์๋ณด๋ค ์ค์๋๊ฐ ๋์ ๋ฌธ์๊ฐ ํ๋๋ผ๋ ์๋ค๋ฉด, ์ด ๋ฌธ์๋ฅผ ์ธ์ํ์ง ์๊ณ Queue์ ๊ฐ์ฅ ๋ค์ ์ฌ๋ฐฐ์น ํ๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ๋ฐ๋ก ์ธ์๋ฅผ ํ๋ค. ์๋ฅผ ๋ค์ด Queue์ 4๊ฐ์ ๋ฌธ์(A B C D)๊ฐ ์๊ณ , ์ค์๋๊ฐ 2 ..
๋ฌธ์ N!์์ ๋ค์์๋ถํฐ ์ฒ์ 0์ด ์๋ ์ซ์๊ฐ ๋์ฌ ๋๊น์ง 0์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. (0 ≤ N ≤ 500) ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๊ตฌํ 0์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ์ ๋ต import sys input = sys.stdin.readline N = int(input()) if N == 0: print(0) else: for i in range(N-1, 0, -1): N *= i for idx, n in enumerate("".join(reversed(str(N)))): if n != '0': print(idx) break ์๋ฅผ ๋ค์ด ์ ๋ ฅ๊ฐ์ด 10์ผ ๋ 10! = 3628800์ ๋ค์์๋ถํฐ ์ธ๋ฒ์งธ ์ซ์์ 0์ด ์๋ ์ซ์ 8์ด ์ค๋ฏ๋ก ์ถ๋ ฅ๊ฐ์ 0์ ๊ฐ์์ธ 2๊ฐ ๋์ด์ผํ๋ค..
๋ฌธ์ ํด๋น์ด๋ ํจ์ ์ ๋งค์ฐ ๋ฏผ๊ฐํด์ ํ๋ฒ ์ ์๋ ์ท๋ค์ ์กฐํฉ์ ์ ๋ ๋ค์ ์ ์ง ์๋๋ค. ์๋ฅผ ๋ค์ด ์ค๋ ํด๋น์ด๊ฐ ์๊ฒฝ, ์ฝํธ, ์์, ์ ๋ฐ์ ์ ์๋ค๋ฉด, ๋ค์๋ ์ ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ์๊ฒฝ๋์ ๋ ์ฆ๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผํ๋ค. ํด๋น์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ์ฃผ์ด์ก์๋ ๊ณผ์ฐ ํด๋น์ด๋ ์๋ชธ์ด ์๋ ์ํ๋ก ๋ฉฐ์น ๋์ ๋ฐ์ ๋์๋ค๋ ์ ์์๊น? ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ฃผ์ด์ง๋ค. ํ ์คํธ ์ผ์ด์ค๋ ์ต๋ 100์ด๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ํด๋น์ด๊ฐ ๊ฐ์ง ์์์ ์ n(0 ≤ n ≤ 30)์ด ์ฃผ์ด์ง๋ค. ๋ค์ n๊ฐ์๋ ํด๋น์ด๊ฐ ๊ฐ์ง ์์์ ์ด๋ฆ๊ณผ ์์์ ์ข ๋ฅ๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ค. ๊ฐ์ ์ข ๋ฅ์ ์์์ ํ๋๋ง ์ ์ ์ ์๋ค. ๋ชจ๋ ๋ฌธ์์ด์ 1์ด์ 20์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ์์ผ๋ฉฐ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์์์ ..
๋ฌธ์ ์ ์ข ๋ฐ์ด๋ฌ์ค์ธ ์ ๋ฐ์ด๋ฌ์ค๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ํ๋๋ค. ํ ์ปดํจํฐ๊ฐ ์ ๋ฐ์ด๋ฌ์ค์ ๊ฑธ๋ฆฌ๋ฉด ๊ทธ ์ปดํจํฐ์ ๋คํธ์ํฌ ์์์ ์ฐ๊ฒฐ๋์ด ์๋ ๋ชจ๋ ์ปดํจํฐ๋ ์ ๋ฐ์ด๋ฌ์ค์ ๊ฑธ๋ฆฌ๊ฒ ๋๋ค. ์๋ฅผ ๋ค์ด 7๋์ ์ปดํจํฐ๊ฐ ๊ณผ ๊ฐ์ด ๋คํธ์ํฌ ์์์ ์ฐ๊ฒฐ๋์ด ์๋ค๊ณ ํ์. 1๋ฒ ์ปดํจํฐ๊ฐ ์ ๋ฐ์ด๋ฌ์ค์ ๊ฑธ๋ฆฌ๋ฉด ์ ๋ฐ์ด๋ฌ์ค๋ 2๋ฒ๊ณผ 5๋ฒ ์ปดํจํฐ๋ฅผ ๊ฑฐ์ณ 3๋ฒ๊ณผ 6๋ฒ ์ปดํจํฐ๊น์ง ์ ํ๋์ด 2, 3, 5, 6 ๋ค ๋์ ์ปดํจํฐ๋ ์ ๋ฐ์ด๋ฌ์ค์ ๊ฑธ๋ฆฌ๊ฒ ๋๋ค. ํ์ง๋ง 4๋ฒ๊ณผ 7๋ฒ ์ปดํจํฐ๋ 1๋ฒ ์ปดํจํฐ์ ๋คํธ์ํฌ์์์ ์ฐ๊ฒฐ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ ์ํฅ์ ๋ฐ์ง ์๋๋ค. ์ด๋ ๋ 1๋ฒ ์ปดํจํฐ๊ฐ ์ ๋ฐ์ด๋ฌ์ค์ ๊ฑธ๋ ธ๋ค. ์ปดํจํฐ์ ์์ ๋คํธ์ํฌ ์์์ ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ์ ๋ณด๊ฐ ์ฃผ์ด์ง ๋, 1๋ฒ ์ปดํจํฐ๋ฅผ ํตํด ์ ๋ฐ์ด๋ฌ์ค์ ๊ฑธ๋ฆฌ๊ฒ ๋๋ ์ปดํจํฐ์ ์..
๋ฌธ์ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ๊ฒ์ ์ฝ๋ค. ์๊ฐ ์ฃผ์ด์ง๋ฉด, ๊ทธ ์์ ๊ฐ ์๋ฆฌ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํด๋ณด์. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ๋ ฌํ๊ณ ์ํ๋ ์ N์ด ์ฃผ์ด์ง๋ค. N์ 1,000,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์๋ฆฌ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ์๋ฅผ ์ถ๋ ฅํ๋ค. ์ ๋ต import sys input = sys.stdin.readline N = int(input()) N = sorted(str(N), reverse = True) print(''.join(N)) โ ์ฒ์๋ถํฐ str ํํ๋ก ์ ๋ ฅ๋ฐ์ ํ ๊ทธ๋๋ก sortํ๋ฉด ๋ง์ง๋ง์ \n์ด ์๊ธด๋ค. โ ๋ฌธ์์ด์ sortedํ๋ฉด ๋ฆฌ์คํธ ํํ๋ก ์ ์ฅ๋๋ค. โ ๋ฌธ์์ด ๋ฆฌ์คํธ๋ฅผ ๋ฌธ์์ด ํํ๋ก ํ์ค์ ํํํ๊ณ ์ถ์ ๋ join !
๋ฌธ์ ์๋น์ด๋ TV๋ฅผ ๋ณด๊ณ ์๋ค. ์๋น์ด๋ ์ฑ๋์ ๋๋ฆฌ๋ ค๊ณ ํ์ง๋ง, ๋ฒํผ์ ๋๋ฌด ์ธ๊ฒ ๋๋ฅด๋ ๋ฐ๋์, ์ผ๋ถ ์ซ์ ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ๋ค. ๋ฆฌ๋ชจ์ปจ์๋ ๋ฒํผ์ด 0๋ถํฐ 9๊น์ง ์ซ์, +์ -๊ฐ ์๋ค. +๋ฅผ ๋๋ฅด๋ฉด ํ์ฌ ๋ณด๊ณ ์๋ ์ฑ๋์์ +1๋ ์ฑ๋๋ก ์ด๋ํ๊ณ , -๋ฅผ ๋๋ฅด๋ฉด -1๋ ์ฑ๋๋ก ์ด๋ํ๋ค. ์ฑ๋ 0์์ -๋ฅผ ๋๋ฅธ ๊ฒฝ์ฐ์๋ ์ฑ๋์ด ๋ณํ์ง ์๊ณ , ์ฑ๋์ ๋ฌดํ๋ ๋งํผ ์๋ค. ์๋น์ด๊ฐ ์ง๊ธ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋์ N์ด๋ค. ์ด๋ค ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ๋์ง ์ฃผ์ด์ก์ ๋, ์ฑ๋ N์ผ๋ก ์ด๋ํ๊ธฐ ์ํด์ ๋ฒํผ์ ์ต์ ๋ช ๋ฒ ๋๋ฌ์ผํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋น์ด๊ฐ ์ง๊ธ ๋ณด๊ณ ์๋ ์ฑ๋์ 100๋ฒ์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์๋น์ด๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ ๊ฐ..
๋ฌธ์ ํ ๋ ๋์ํํธ๋ ๋ํ ์ค๋น๋ฅผ ํ๋ค๊ฐ ์ง๋ฃจํด์ ธ์ ์๋๋ฐ์ค ๊ฒ์์ธ ‘๋ง์ธํฌ๋ํํธ’๋ฅผ ์ผฐ๋ค. ๋ง์ธํฌ๋ํํธ๋ 1 × 1 × 1(์ธ๋ก, ๊ฐ๋ก, ๋์ด) ํฌ๊ธฐ์ ๋ธ๋ก๋ค๋ก ์ด๋ฃจ์ด์ง 3์ฐจ์ ์ธ๊ณ์์ ์์ ๋กญ๊ฒ ๋ ์ ํ๊ฑฐ๋ ์ง์ ์ง์ ์ ์๋ ๊ฒ์์ด๋ค. ๋ชฉ์ฌ๋ฅผ ์ถฉ๋ถํ ๋ชจ์ lvalue๋ ์ง์ ์ง๊ธฐ๋ก ํ์๋ค. ํ์ง๋ง ๊ณ ๋ฅด์ง ์์ ๋ ์๋ ์ง์ ์ง์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ์ ๋์ด๋ฅผ ๋ชจ๋ ๋์ผํ๊ฒ ๋ง๋๋ ‘๋ ๊ณ ๋ฅด๊ธฐ’ ์์ ์ ํด์ผ ํ๋ค. lvalue๋ ์ธ๋ก N, ๊ฐ๋ก M ํฌ๊ธฐ์ ์งํฐ๋ฅผ ๊ณจ๋๋ค. ์งํฐ ๋งจ ์ผ์ชฝ ์์ ์ขํ๋ (0, 0)์ด๋ค. ์ฐ๋ฆฌ์ ๋ชฉ์ ์ ์ด ์งํฐ ๋ด์ ๋ ์ ๋์ด๋ฅผ ์ผ์ ํ๊ฒ ๋ฐ๊พธ๋ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๋ ์ข ๋ฅ์ ์์ ์ ํ ์ ์๋ค. ์ขํ (i, j)์ ๊ฐ์ฅ ์์ ์๋ ๋ธ๋ก์ ์ ๊ฑฐํ์ฌ ์ธ๋ฒคํ ๋ฆฌ์ ๋ฃ๋๋ค. ์ธ๋ฒค..
๋ฌธ์ 1๋ถํฐ ์ฐ์์ ์ผ๋ก ๋ฒํธ๊ฐ ๋ถ์ด์๋ ์ค์์น๋ค์ด ์๋ค. ์ค์์น๋ ์ผ์ ธ ์๊ฑฐ๋ ๊บผ์ ธ์๋ ์ํ์ด๋ค. ์ ์ค์์น 8๊ฐ์ ์ํ๊ฐ ํ์๋์ด ์๋ค. ‘1’์ ์ค์์น๊ฐ ์ผ์ ธ ์์์, ‘0’์ ๊บผ์ ธ ์์์ ๋ํ๋ธ๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ ๋ช ๋ช ์ ๋ฝ์์, ํ์๋ค์๊ฒ 1 ์ด์์ด๊ณ ์ค์์น ๊ฐ์ ์ดํ์ธ ์์ฐ์๋ฅผ ํ๋์ฉ ๋๋์ด์ฃผ์๋ค. ํ์๋ค์ ์์ ์ ์ฑ๋ณ๊ณผ ๋ฐ์ ์์ ๋ฐ๋ผ ์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ค์์น๋ฅผ ์กฐ์ํ๊ฒ ๋๋ค. ๋จํ์์ ์ค์์น ๋ฒํธ๊ฐ ์๊ธฐ๊ฐ ๋ฐ์ ์์ ๋ฐฐ์์ด๋ฉด, ๊ทธ ์ค์์น์ ์ํ๋ฅผ ๋ฐ๊พผ๋ค. ์ฆ, ์ค์์น๊ฐ ์ผ์ ธ ์์ผ๋ฉด ๋๊ณ , ๊บผ์ ธ ์์ผ๋ฉด ์ผ ๋ค. ๊ณผ ๊ฐ์ ์ํ์์ ๋จํ์์ด 3์ ๋ฐ์๋ค๋ฉด, ์ด ํ์์ ์ ๊ฐ์ด 3๋ฒ, 6๋ฒ ์ค์์น์ ์ํ๋ฅผ ๋ฐ๊พผ๋ค. ์ฌํ์์ ์๊ธฐ๊ฐ ๋ฐ์ ์์ ๊ฐ์ ๋ฒํธ๊ฐ ๋ถ์ ์ค์์น๋ฅผ ์ค์ฌ์ผ๋ก ์ข์ฐ๊ฐ ๋์นญ์ด๋ฉด์ ๊ฐ์ฅ..