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

์ „์ฒด ๊ธ€106

[C++] 13-2. ๊ธฐ๋ณธ์ž…์ถœ๋ ฅ๊ณผ ํŒŒ์ผ์ž…์ถœ๋ ฅ(feat. iostream, ifstream, ofstream, stringstream) ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ํ‘œ์ค€์ž…์ถœ๋ ฅ์ด ๋ฌด์—‡์ธ์ง€ ๊ทธ๋ฆฌ๊ณ  ํ‘œ์ค€์ž…์ถœ๋ ฅ๊ณผ ํŒŒ์ผ์ž…์ถœ๋ ฅ์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ดค๋‹ค. ์ „ํ†ต์ ์ธ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— C++์ด ์•„๋‹Œ C ์ฝ”๋“œ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด์—ˆ๋‹ค. ๋ชจ๋˜ C++์ด ๋‚˜์˜ค๋ฉด์„œ Standard library์—์„œ๋Š” iostream, ifstream, ofstream, stringstream๋“ฑ์˜ stream ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ง€์›ํ•œ๋‹ค. ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด์ž. ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ (Standard Input/Output) C++์—์„œ ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ์€ iostream ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. iostream์€ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ (istream)๊ณผ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ (ostream)์„ ์ œ๊ณตํ•œ๋‹ค. istream (์ž…๋ ฅ ์ŠคํŠธ๋ฆผ) `istream`์€ ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋Š” ์ŠคํŠธ๋ฆผ์ด๋‹ค. ํ‚ค๋ณด๋“œ.. 2023. 5. 19.
ํŒŒ์ด์ฌ์—์„œ json ํŒŒ์‹ฑํ•˜๊ธฐ ํŒŒ์ด์ฌ์—์„œ json ํŒŒ์ผ์„ ์ฝ๊ณ  ํŒŒ์‹ฑ ํ›„ ๋‚˜๋ฆ„์˜ ํ•„ํ„ฐ๋ง์„ ๊ฑฐ์ณ ๋ณด๊ณ  ์‹ถ์€ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋‹ค. ํŒŒ์ด์ฌ์—์„œ๋Š” json์„ js์™€ ๊ฐ™์ด ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ณ„๋„์˜ ์ถ”๊ฐ€ ํŒจํ‚ค์ง€ ์—†์ด json์„ ์ฝ๊ณ  ์“ธ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค. ๋ณดํ†ต json์„ ํŒŒ์ด์ฌ์˜ ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋”•์…”๋„ˆ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์— ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค. ์•„๋ž˜๋Š” json ํŒŒ์ผ์„ open ํ›„ loadํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด json_data๋กœ ์ฝ๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฆฌ์ŠคํŠธ์— ๋”ฐ๋กœ ๋‹ด์•„์„œ count์™€ ๋ฐ์ดํ„ฐ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค. import json with open("ETHUSDT.json", "r") as f: json_data = json.load(f) # print(json.dumps(json_data)) buy_arr = [] sel.. 2023. 5. 18.
[C++] 13-1. ์ž…์ถœ๋ ฅ(feat. ํ‘œ์ค€์ž…์ถœ๋ ฅ๊ณผ ํŒŒ์ผ์ž…์ถœ๋ ฅ) โœ… ์ŠคํŠธ๋ฆผ ์ŠคํŠธ๋ฆผ์€ ํ•˜๋‚˜์˜ ํ๋ฆ„์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ˆ˜๋„๊ผญ์ง€๋ฅผ ํ‹€์–ด๋†“๊ณ  ๋„ค๋ชจ๋‚œ ํ˜ธ์Šค๋ฅผ ๋ผ์šฐ๋ฉด ๋ฌผ์ด ๋„ค๋ชจ ๋ชจ์–‘์œผ๋กœ ๋‚˜์˜ค๊ณ , ๋™๊ทธ๋ž€ ํ˜ธ์Šค๋ฅผ ๋ผ์šฐ๋ฉด ๋™๊ทธ๋ž—๊ฒŒ ๋‚˜์˜จ๋‹ค. ์šด์˜์ฒด์ œ๊ฐ€ ๋ฌผ์„ ๊ณต๊ธ‰ํ•˜๋Š” ์›์ฒœ์ด๊ณ  ์ŠคํŠธ๋ฆผ์€ ํ˜ธ์Šค๋‹ค. ์ถœ๋ ฅ ๋ฐฉํ–ฅ์„ ํ™”๋ฉด(๋ชจ๋‹ˆํ„ฐ)์œผ๋กœ ์ •ํ•˜๋ฉด ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜๊ณ , ํŒŒ์ผ๋กœ ์ •ํ•˜๋ฉด ํŒŒ์ผ์— ์ถœ๋ ฅ(์“ฐ๊ธฐ)๋œ๋‹ค. ์ž…๋ ฅ ๋˜ํ•œ ์ž…๋ ฅ ์žฅ์น˜(ํ‚ค๋ณด๋“œ)๋กœ ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ํŒŒ์ผ์„ ํ†ตํ•ด ์ฝ์„ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ํŒŒ์ดํ”„(ํŠน์ • ๋ช…๋ น์˜ ๊ฒฐ๊ณผ)๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค. ์œ ๋‹‰์Šค ์šด์˜์ฒด์ œ์™€ ๋ฐ€์ ‘ํ•œ C/C++์€ ์ž…์ถœ๋ ฅ์„ ๋ฐ์ด ์ŠคํŠธ๋ฆผ์œผ๋กœ ํ•ด์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์ˆ˜์›”ํ•˜๋‹ค. โœ… ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์—๋Š” stdin, stdout, stderr ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๊ฐ๊ฐ 0(stdin), 1(stdout), 2(stderr.. 2023. 5. 17.
[C++] 12. ๋ฌธ์ž์—ด(feat. ์ง๋ ฌํ™”) โœ… ๋ฌธ์ž์—ด ๋ฌธ์ž์—ด(string)์€ ๋ฌธ์ž๋“ค์˜ ์ง‘ํ•ฉ์ด๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ฑฐ๋‚˜ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ์กด C ์Šคํƒ€์ผ์˜ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ๋ฐฉ์‹์€ ์ง๊ด€์ ์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ์กด์˜ ๋ฐฉ์‹๋Œ€๋กœ ์“ฐ์—ฌ์ง„ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ฝ์„ ์ค„์€ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํžˆ ๋ณด๊ณ  ๋„˜์–ด๊ฐ€์ž. #include int main() { char str[16] = "Hello world"; const char* str2 = "Hello Seoarang"; char c = 'a'; c -= 32; printf("%s\n", str); printf("%s\n", str2); printf("%c\n", c); } // ์ถœ๋ ฅ ๊ฒฐ๊ณผ //Hello world //Hello Seoarang //A ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•์€ char์ด๋‹ค. .. 2023. 5. 6.
[C++] 11. ํ•จ์ˆ˜(feat. ์ „์—ญํ•จ์ˆ˜, ๋ฉค๋ฒ„ํ•จ์ˆ˜, ์ •์ ํ•จ์ˆ˜, ๋žŒ๋‹คํ•จ์ˆ˜) ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ์ด๋‹ค. ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๊ณ  ํ•จ์ˆ˜๋Š” ๋™์ž‘์„ ์˜๋ฏธํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•จ์ˆ˜์ธ ๊ฒƒ์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ•จ์ˆ˜๋กœ ์‹œ์ž‘ํ•ด์„œ ํ•จ์ˆ˜๋กœ ๋๋‚œ๋‹ค. ์˜ค๋Š˜์€ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. โœ… ํ•จ์ˆ˜์˜ ์ค‘์š”์„ฑ ํ•จ์ˆ˜๋ฅผ ์ƒ๊ฐํ•  ๋•Œ, ์ปดํ“จํ„ฐ์˜ ๊ด€์ ์—์„œ๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ๋ฆ„์„ ๋‹ด๊ณ ์žˆ๋Š” ๊ณณ์ด ํ•จ์ˆ˜๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ๊ด€์ ์—์„œ๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์œ„ํ•ด ์ง์ ‘๋งŒ๋“œ๋Š” ๊ฒƒ์„ ํ•จ์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋‘˜ ๋‹ค ์ค‘์š”ํ•˜๋‹ค. ์šด์˜์ฒด์ œ์˜ ์‹œ์Šคํ…œ ํ•จ์ˆ˜, ์–ธ์–ด์—์„œ ์ œ๊ณตํ•˜๋Š” main ํ•จ์ˆ˜์™€ ๊ฐ™์ด ํ•„์ˆ˜์ ์ธ ํ•จ์ˆ˜๋“ค์ด ์žˆ๋‹ค. ์ด ํ•จ์ˆ˜๋“ค์€ ์ •์˜ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ž˜๋ชป ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค๋ฉด ์น˜๋ช…์ ์ธ ๊ฒฐํ•จ์œผ๋กœ ์ด์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฑฑ์ •ํ•˜์ง€ ๋ง์ž. ์šฐ๋ฆฌ๊ฐ€ ์ด๋Ÿฐ ํ•จ์ˆ˜๋“ค์˜ ์ž‘๋™๋ฐฉ์‹๊ณผ ์›๋ฆฌ๊นŒ์ง€ .. 2023. 4. 28.
[C/C++] 10. ํฌ์ธํ„ฐ(feat. ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ) โœ… ํฌ์ธํ„ฐ C++์˜ ์žฅ์ ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ๋‹จ์ ์œผ๋กœ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋ˆˆ์œผ๋กœ ํ›คํžˆ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž˜๋ชป ๊ด€๋ฆฌํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ฃฝ์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜๋„ ์žˆ๊ณ  ์•„๋‹ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํ™•์‹คํ•œ ๊ฑด C/C++์€ ์ปดํ“จํ„ฐ์˜ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ์•Œ๊ธฐ์—๋Š” ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํฌ์ธํ„ฐ๋Š” ์ฃผ์†Œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜์ด๋‹ค. 64๋น„ํŠธ ์ฒด์ œ์—์„œ integer ํƒ€์ž…์˜ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋Š” ๋ช‡์ธ๊ฐ€๋ฅผ ๋ฌป๋Š” ์งˆ๋ฌธ์— ๋งŽ์€ ๋ถ„๋“ค์ด 4byte๋ผ๊ณ  ๋Œ€๋‹ตํ•œ๋‹ค. ํฌ์ธํ„ฐ๋ณ€์ˆ˜๋Š” ์ฃผ์†Œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ํฌ์ธํ„ฐ๋ณ€์ˆ˜๋Š” ์ปดํ“จํ„ฐ์˜ ์›Œ๋“œ(word)์™€ ๊ฐ™๋‹ค. 8๋น„ํŠธ ์ฒด์ œ์—์„œ๋Š” 1 ์›Œ๋“œ๊ฐ€ 8๋น„ํŠธ=1๋ฐ”์ดํŠธ์ด๋‹ค. ๋”ฐ๋ผ์„œ 64๋น„ํŠธ ์ฒด์ œ์—์„œ๋Š” ํƒ€์ž…์ด ๋ฌด์—‡์ด๊ฑด ๊ฐ„์— ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ๋Š” 64.. 2023. 4. 26.