๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

2019/126

[SWEA] 2071. ํ‰๊ท ๊ฐ’ ๊ตฌํ•˜๊ธฐ - ์†Œ์ˆ˜์  N ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ ํŠน๋ณ„ํžˆ ์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ์•„๋‹Œ๋ฐ ๋ฐ˜์˜ฌ๋ฆผ ๊ด€๋ จ ํ•ด์„œ ์ •๋ฆฌํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ ๋Š”๋‹ค. C++์˜ ์—๋Š” ์ด๋ฏธ ceil(์˜ฌ๋ฆผ), floor(๋‚ด๋ฆผ) ํ•จ์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ round ํ•จ์ˆ˜๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ด์ค„ ๋ฟ ์ •ํ™•ํžˆ ์†Œ์ˆ˜์  N ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ์„ ํ•œ ๊ฒฐ๊ณผ๊ฐ’์€ ์–ป์„ ์ˆ˜ ์—†๋‹ค. cf) ceil, floor, round ํ•จ์ˆ˜๋Š” ๋ชจ๋‘ double, float, long double์— ๋Œ€ํ•˜์—ฌ ์˜ค๋ฒ„๋กœ๋”ฉ ๋˜์–ด์žˆ๋‹ค. ์†Œ์ˆ˜์  N ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณ ๋ ค ๋Œ€์ƒ์ธ ์†Œ์ˆ˜์  N ๋ฒˆ์งธ ์ž๋ฆฌ ์ˆ˜๊ฐ€ 5๋ณด๋‹ค ์ž‘์€์ง€ ํ˜น์€ ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€์ง€๋งŒ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. 1) ๋”ฐ๋ผ์„œ pow(10, N-1)์„ ๊ณฑํ•ด ์†Œ์ˆ˜์  N ๋ฒˆ์งธ ์ž๋ฆฌ ์ˆ˜๊ฐ€ ์†Œ์ˆ˜์  ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ ์ˆ˜๊ฐ€ ๋˜๋„๋ก ํ•ด์ค€๋‹ค. 3.4927์„ ์†Œ์ˆ˜์  ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ ํ•˜๊ธฐ .. 2019. 12. 27.
C++ #4: preprocessor directives preprocessor directives preprocessor๋Š” ์ผ๋ฐ˜ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ธฐ ์ „์— preprocessor directives๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. preprocessor directives๋Š” ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ์ž๋ผ๊ณ  ํ•˜๋ฉฐ, '#'์œผ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐœํ–‰๋ฌธ์ž๋กœ ๋๋‚œ๋‹ค. (์„ธ๋ฏธ์ฝœ๋ก  ๋ถˆํ•„์š”, ๊ฐœํ–‰ ์ง์ „ '\'์„ ์“ฐ๋ฉด ๋‹ค์Œ ์ค„์— ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ) ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ๋‹ค์–‘ํ•œ ์šฉ๋„๋กœ ์“ฐ์ผ ์ˆ˜ ์žˆ์œผ๋‚˜ ์—ฌ๊ธฐ์„œ๋Š” ์ž์ฃผ ์“ฐ์ด๋Š” ์„ธ ๊ฐ€์ง€ ์šฉ๋„๋งŒ ์†Œ๊ฐœํ•œ๋‹ค. 1) Source file inclusion (#include) #include #includ "file" preprocessor๋Š” #include ์ง€์‹œ์ž๋ฅผ ๋งŒ๋‚˜๋ฉด ๋’ค์— ๋ช…์‹œ๋œ ํ—ค๋”๋‚˜ ํŒŒ์ผ์„ ์ง€์‹œ์ž ์œ„์น˜์— ๋ณต์‚ฌํ•ด ๋Œ€์ฒดํ•œ๋‹ค. ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, implementati.. 2019. 12. 7.
C++ #3: call by value, address, reference call by ... ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ์„ ์„ค๋ช…ํ•  ๋•Œ, ์ฃผ๋กœ swap ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด call by value, call by address, call by reference๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. c++์—์„œ ์„ค๋ช…ํ•˜๋Š” call by address๋Š” ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•œ ๊ฒƒ์œผ๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ c์—์„œ ์„ค๋ช…ํ•˜๋Š” call by reference์™€ ๋™์ผํ•˜๋‹ค. (์ด๊ฒŒ ํ—ท๊ฐˆ๋ฆฌ๋Š” ์ ์ธ๋ฐ, ๊ฐœ๋…๊ณผ ์šฉ์–ด ์ •๋ฆฌ์— ์•ฝ๊ฐ„ ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ๋“ฏ ํ•˜๋‹ค.) ๋˜ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๋ฐ›๋Š๋ƒ ๋ฐ›์ง€ ์•Š๋Š๋ƒ์— ๋”ฐ๋ผ ์„ค๋ช…์ด ์—‡๊ฐˆ๋ฆฌ๋Š”๋ฐ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๋ฐ›์ง€ ์•Š๊ณ  ์›๋ณธ ๋ณ€์ˆ˜์˜ ๋ณ„์นญ์œผ๋กœ์„œ ํ–‰๋™ํ•œ๋‹ค๋Š” ์„ค๋ช…๋„ ์žˆ๊ณ , ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๋ฐ›์•„ ์›๋ณธ ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ์ˆ˜์ •๋˜๋ฉด ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ์— ์žˆ๋Š” ๊ฐ’์„ ์ˆ˜.. 2019. 12. 6.
C++ #2: reference variable reference variable ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜๋Š” ํฌ์ธํ„ฐ ๋ณ€์ˆ˜ ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์—๋Ÿฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ–ˆ๋‹ค. ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์™€ ๊ฐ™์ด ์‹ค์ œ๋กœ ์ฃผ์†Œ๊ฐ’์„ ์ €์žฅํ•˜์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ํŠน์ง•๋“ค์ด ์žˆ๋‹ค. 1) ๋ณ€์ˆ˜์˜ ๋ณ„์นญ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜๋Š” ์ฐธ์กฐ ๋Œ€์ƒ์˜ ๋ณ„์นญ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, int num1 = 10; int &num2 = num1; num2 = 20; cout 2019. 12. 5.