[Python] 2750 - ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ
ยท
Algorithm
๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ์ •๋‹ต n = int(input()) a = [] for i in range(n): a.append(int(input())) a.sort() for i in range(n): print(a[i]) ์ด๊ฑด ๊ฐ„๋‹จํ•˜๊ฒŒ ํŒŒ์ด์ฌ ์ž์ฒด sort๋ฅผ ์ด์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์ •๋‹ต def ins_sort(a): for i in range(1, len(a)): key =..
[Python] ๋ฐฑ์ค€ 2292 - ๋ฒŒ์ง‘
ยท
Algorithm
๋ฌธ์ œ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฒŒ์ง‘์˜ ์ค‘์•™ 1์—์„œ N๋ฒˆ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๊ฐ€๋Š”์ง€(์‹œ์ž‘๊ณผ ๋์„ ํฌํ•จํ•˜์—ฌ)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 13๊นŒ์ง€๋Š” 3๊ฐœ, 58๊นŒ์ง€๋Š” 5๊ฐœ๋ฅผ ์ง€๋‚œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 1,000,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. ์ •๋‹ต n = int(input()) res = 1 room = 1 while True: if n == 1: print('1') break..
[Python] ๋ฐฑ์ค€ 1541 - ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ
ยท
Algorithm
๋ฌธ์ œ ์„ธ์ค€์ด๋Š” ์–‘์ˆ˜์™€ +, -, ๊ทธ๋ฆฌ๊ณ  ๊ด„ํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€ 50์ธ ์‹์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ๋ชจ๋‘ ์ง€์› ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค ๋งŽ์ด ์—ฐ์†๋˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค. ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ •๋‹ต a = input().split('-') res = 0 for i in a[0].split('+'): res += int(i) f..
[Python] ๋ฐฑ์ค€ 1918 - ํ›„์œ„ ํ‘œ๊ธฐ์‹
ยท
Algorithm
๋ฌธ์ œ ์ˆ˜์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ 3๊ฐ€์ง€ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฐ์‚ฐ์ž๊ฐ€ ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ€์šด๋ฐ ์œ„์น˜ํ•˜๋Š” ์ค‘์œ„ ํ‘œ๊ธฐ๋ฒ•(์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค), ์—ฐ์‚ฐ์ž๊ฐ€ ํ”ผ์—ฐ์‚ฐ์ž ์•ž์— ์œ„์น˜ํ•˜๋Š” ์ „์œ„ ํ‘œ๊ธฐ๋ฒ•(prefix notation), ์—ฐ์‚ฐ์ž๊ฐ€ ํ”ผ์—ฐ์‚ฐ์ž ๋’ค์— ์œ„์น˜ํ•˜๋Š” ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ•(postfix notation)์ด ๊ทธ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ค‘์œ„ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„๋œ a+b๋Š” ์ „์œ„ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ๋Š” +ab์ด๊ณ , ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ๋Š” ab+๊ฐ€ ๋œ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃฐ ํ‘œ๊ธฐ๋ฒ•์€ ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ•์ด๋‹ค. ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ•์€ ์œ„์—์„œ ๋งํ•œ ๋ฒ•๊ณผ ๊ฐ™์ด ์—ฐ์‚ฐ์ž๊ฐ€ ํ”ผ์—ฐ์‚ฐ์ž ๋’ค์— ์œ„์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์˜ ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์“ฐ๋Š” ์ค‘์œ„ ํ‘œ๊ธฐ์‹ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๋ง์…ˆ๊ณผ ๊ณฑ์…ˆ์˜ ์šฐ์„ ์ˆœ์œ„์— ์ฐจ์ด๊ฐ€ ์žˆ์–ด ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†์ง€๋งŒ ํ›„์œ„ ํ‘œ๊ธฐ์‹์„ ์‚ฌ..