๐Ÿ‘ฉ‍๐Ÿ’ปStudy Group/๐Ÿซง2021 ํ•˜๊ณ„ ๋ชจ๊ฐ์ฝ”_์™€ํ”ŒํŒฌ์ผ€์žŒํ˜ธ๋–ก

08์›” 03์ผ ๋ชจ๊ฐ์ฝ”_์™€ํŒฌํ˜ธ 5ํšŒ์ฐจ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ

๋ฟŒ์•ผ._. 2021. 8. 3. 23:55

2021๋…„ 08์›” 03์ผ ํ™”์š”์ผ 21:00~24:00

 

๐Ÿ”ฅ Baekjoon ๋ฌธ์ œ ํ•ด๊ฒฐ ๐Ÿ”ฅ

 

โ‘  1748 ์ˆ˜ ์ด์–ด ์“ฐ๊ธฐ 1 _ Python

 

https://www.acmicpc.net/problem/1748

 ๋ฌธ์ œ) 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ์ด์–ด์„œ ์“ฐ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒˆ๋กœ์šด ํ•˜๋‚˜์˜ ์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
1234567891011121314151617181920212223...
์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์ƒˆ๋กœ์šด ์ˆ˜๋Š” ๋ช‡ ์ž๋ฆฟ์ˆ˜์ผ๊นŒ? ์ด ์ˆ˜์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

- ์ฒ˜์Œ์— ์ƒ๊ฐํ•œ ๋ฐฉ๋ฒ•์€ ๋ฐ˜๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ธธ์ด๋ฅผ ๋”ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ œํ•œ 0.15์ดˆ๋กœ ๋‹น์—ฐํžˆ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.

๋˜, ๊ฒ€์ƒ‰์˜ ํž˜์„ ๋ฐ›์•„ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•์€ ์ผ์˜ ์ž๋ฆฌ, ์‹ญ์˜ ์ž๋ฆฌ, ๋ฐฑ์˜ ์ž๋ฆฌ ์ด๋Ÿฐ ์‹์œผ๋กœ ์ƒ๊ฐํ•ด๋ณด๋Š” ๋ฐฉ๋ฒ•์ด์—ˆ๋‹ค.

์ผ์˜ ์ž๋ฆฌ = 1 ~ ๋๊นŒ์ง€ 

์‹ญ์˜ ์ž๋ฆฌ = 10 ~ ๋๊นŒ์ง€

๋ฐฑ์˜ ์ž๋ฆฌ = 100 ~ ๋๊นŒ์ง€ 

์ด๋Ÿฐ ์‹์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

 

โ‘ก 1003 ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ _ Python

 

https://www.acmicpc.net/problem/1003

fibonacci(3)์„ ํ˜ธ์ถœํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์ด ์ผ์–ด๋‚œ๋‹ค.

fibonacci(3)์€ fibonacci(2)์™€ fibonacci(1) (์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ)์„ ํ˜ธ์ถœํ•œ๋‹ค.
fibonacci(2)๋Š” fibonacci(1) (๋‘ ๋ฒˆ์งธ ํ˜ธ์ถœ)๊ณผ fibonacci(0)์„ ํ˜ธ์ถœํ•œ๋‹ค.
๋‘ ๋ฒˆ์งธ ํ˜ธ์ถœํ•œ fibonacci(1)์€ 1์„ ์ถœ๋ ฅํ•˜๊ณ  1์„ ๋ฆฌํ„ดํ•œ๋‹ค.
fibonacci(0)์€ 0์„ ์ถœ๋ ฅํ•˜๊ณ , 0์„ ๋ฆฌํ„ดํ•œ๋‹ค.
fibonacci(2)๋Š” fibonacci(1)๊ณผ fibonacci(0)์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ณ , 1์„ ๋ฆฌํ„ดํ•œ๋‹ค.
์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœํ•œ fibonacci(1)์€ 1์„ ์ถœ๋ ฅํ•˜๊ณ , 1์„ ๋ฆฌํ„ดํ•œ๋‹ค.
fibonacci(3)์€ fibonacci(2)์™€ fibonacci(1)์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ณ , 2๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

1์€ 2๋ฒˆ ์ถœ๋ ฅ๋˜๊ณ , 0์€ 1๋ฒˆ ์ถœ๋ ฅ๋œ๋‹ค. N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, fibonacci(N)์„ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ, 0๊ณผ 1์ด ๊ฐ๊ฐ ๋ช‡ ๋ฒˆ ์ถœ๋ ฅ๋˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

- ์ด์ œ ํ”ผ๋ณด๋‚˜์น˜๋Š” ๊ฐ€๋ฟํ•˜๋‹ค๋Š” ์ƒ๊ฐ์„ ํŒŒ์‚ฌ์‚ญํ•˜๊ฒŒ ๋งŒ๋“  ๋ฌธ์ œ

์žฌ๊ท€๋กœ ํ’€์–ด๋ณธ ๊ฒฐ๊ณผ ์‹œ๊ฐ„์ œํ•œ 0.25์ดˆ๋ผ๋Š” ๋ฒฝ์— ๋ง‰ํžˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

์กฐ๊ธˆ์˜ ๊ฒ€์ƒ‰์˜ ํž˜์œผ๋กœ dp๋กœ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค๋Š” ๋ง์— ์ฝ”๋“œ๋ฅผ ๋„๋„๋… ๐Ÿ™„

์ด๋ฒˆ์—๋Š” 20%์—์„œ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค ๋ผ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. ์™œ? Why? 

๋‹ค์‹œ ๊ฒ€์ƒ‰ํ•ด๋ณธ ๊ฒฐ๊ณผ ๋‚˜์˜ ์ฝ”๋“œ์™€ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ์ง€๋งŒ ์ด ๋ถ€๋ถ„์—์„œ ์™œ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€๋Š”

์•„์ง๋„ ์˜๋ฌธ์ด๋‹ค. ๐Ÿ™„

 

 

โ‘ข 2751 ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2 _ PyPy3

 

https://www.acmicpc.net/problem/2751

 

- ๋˜‘๊ฐ™์€ ์ฝ”๋“œ๋ฅผ Python3๋กœ ์ œ์ถœ ์‹œ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐœ์ƒ

- PyPy3๋กœ ์ œ์ถœ ์‹œ ์„ฑ๊ณต! (sort, sorted ๋‘˜ ๋‹ค ์„ฑ๊ณต)

 

 

โ‘ฃ 9935 ๋ฌธ์ž์—ด ํญ๋ฐœ _ Python

 

https://www.acmicpc.net/problem/9935

 

์ƒ๊ทผ์ด๋Š” ๋ฌธ์ž์—ด์— ํญ๋ฐœ ๋ฌธ์ž์—ด์„ ์‹ฌ์–ด ๋†“์•˜๋‹ค. ํญ๋ฐœ ๋ฌธ์ž์—ด์ด ํญ๋ฐœํ•˜๋ฉด ๊ทธ ๋ฌธ์ž๋Š” ๋ฌธ์ž์—ด์—์„œ ์‚ฌ๋ผ์ง€๋ฉฐ, ๋‚จ์€ ๋ฌธ์ž์—ด์€ ํ•ฉ์ณ์ง€๊ฒŒ ๋œ๋‹ค. ํญ๋ฐœ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.

๋ฌธ์ž์—ด์ด ํญ๋ฐœ ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ์—, ๋ชจ๋“  ํญ๋ฐœ ๋ฌธ์ž์—ด์ด ํญ๋ฐœํ•˜๊ฒŒ ๋œ๋‹ค. ๋‚จ์€ ๋ฌธ์ž์—ด์„ ์ˆœ์„œ๋Œ€๋กœ ์ด์–ด ๋ถ™์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋งŒ๋“ ๋‹ค.
์ƒˆ๋กœ ์ƒ๊ธด ๋ฌธ์ž์—ด์— ํญ๋ฐœ ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค.
ํญ๋ฐœ์€ ํญ๋ฐœ ๋ฌธ์ž์—ด์ด ๋ฌธ์ž์—ด์— ์—†์„ ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค.

์ƒ๊ทผ์ด๋Š” ๋ชจ๋“  ํญ๋ฐœ์ด ๋๋‚œ ํ›„์— ์–ด๋–ค ๋ฌธ์ž์—ด์ด ๋‚จ๋Š”์ง€ ๊ตฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋‚จ์•„์žˆ๋Š” ๋ฌธ์ž๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋•Œ๋Š” "FRULA"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํญ๋ฐœ ๋ฌธ์ž์—ด์€ ๊ฐ™์€ ๋ฌธ์ž๋ฅผ ๋‘ ๊ฐœ ์ด์ƒ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

- ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

- ๋‘ ๋ฒˆ์งธ๋กœ๋Š” stack์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์Šคํƒ์— ๋„ฃ๊ธฐ ์ „์— bomb์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์™€ ๊ฐ™์€ ๋ฌธ์ž๋ฉด

stack์— ๋“ค์–ด์žˆ๋Š” ์•ž์— ๊ธ€์ž๋“ค๊ณผ ๋น„๊ตํ•ด์„œ ์ง€์šฐ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. 

ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์ง€๋งŒ 50%์ฏค์—์„œ ํ‹€๋ ธ๋‹ค๊ณ  ๋‚˜์™”๋‹ค.

- ๋งˆ์ง€๋ง‰ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์ฒ˜์Œ์— stack์— ๋„ฃ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋„ฃ์€ ๊ฒƒ์ด bomb์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์™€ ๊ฐ™์œผ๋ฉด

stack์—์„œ bomb์˜ ๊ธธ์ด๋งŒํผ ๋น„๊ตํ•˜์—ฌ ๊ฐ™์œผ๋ฉด ์ง€์šฐ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•๊ณผ ๋น„์Šทํ•˜์ง€ ์•Š์€๊ฐ€...? ์ฐจ์ด์ ์„ ์•„์ง๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๐Ÿ˜ฅ