Banner

My Tech Blog (์ฝ”๋“œ)

โค๏ธ ๋ฌธ์ œ์„ค๋ช…ANIMAL_INS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ๋ณดํ˜ธ ์‹œ์ž‘์ผ, ๋ณดํ˜ธ ์‹œ์ž‘ ์‹œ ์ƒํƒœ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.  ๐Ÿ’› ๋ฌธ์ œ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ ์ค‘ ์•„ํ”ˆ ๋™๋ฌผ์˜ ์•„์ด๋””์™€ ์ด๋ฆ„์„ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ์•„์ด๋”” ์ˆœ์œผ๋กœ ์กฐํšŒํ•ด์ฃผ์„ธ์š”.๋ณธ ๋ฌธ์ œ๋Š” Kaggle์˜ "Austin Animal Center Shelter Intakes and Outcomes"์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์˜€์œผ๋ฉฐ ODbL์˜ ์ ์šฉ์„ ๋ฐ›์Šต๋‹ˆ..
์—ฌ๋Ÿฌ๋ถ„๋“ค ์ž…๋ ฅ๋„๊ตฌ Scanner ๋งŽ์ด ์“ฐ์‹œ์ฃ ? ๊ทธ๋Ÿฐ๋ฐ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€๋‹ค ๋ณด๋ฉด Scanner๋ณด๋‹ค BufferedReader / BufferedWriter์„ ๋” ๋งŽ์ด ์“ฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ ์ด ๋” ์ข‹์„๊นŒ์š”?    ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ž…๋ ฅ์€, ํ‚ค๋ณด๋“œ์˜ ์ž…๋ ฅ์ด ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋Š” ์ฆ‰์‹œ ๋ฐ”๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ๋ฐ˜๋ฉด ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž…๋ ฅ์€, ํ‚ค๋ณด๋“œ์˜ ์ž…๋ ฅ์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค ํ•œ ๋ฌธ์ž์”ฉ ๋ฒ„ํผ๋กœ ์ „์†กํ•œ๋‹ค. ๋ฒ„ํผ๊ฐ€ ๊ฐ€๋“ ์ฐจ๊ฑฐ๋‚˜ ๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ๋ฒ„ํผ์˜ ๋‚ด์šฉ์„ ํ•œ ๋ฒˆ์— ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ์ฆ‰, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ชจ์•„์„œ ์ „๋‹ฌ Scanner๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ† ํฐ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋„์–ด์“ฐ๊ธฐ์™€ ๊ฐœํ–‰๋ฌธ์ž๋ฅผ ๊ฒฝ๊ณ„๋กœ ํ•˜์—ฌ ์ž…๋ ฅ ๊ฐ’์„ ์ธ์‹๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ๊ฐ€๊ณตํ•  ํ•„์š”๊ฐ€ ์—†์–ด ํŽธ๋ฆฌํ•˜๋‹ค.BufferedReader์€ ์ž…๋ ฅ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๊ฐ€ St..
โค๏ธ ๋ฌธ์ œ์„ค๋ช…๋‹ค์Œ์€ ์‹๋‹น ๋ฆฌ๋ทฐ ์‚ฌ์ดํŠธ์˜ ํšŒ์› ์ •๋ณด๋ฅผ ๋‹ด์€ MEMBER_PROFILE ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. MEMBER_PROFILE ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH๋Š” ํšŒ์› ID, ํšŒ์› ์ด๋ฆ„, ํšŒ์› ์—ฐ๋ฝ์ฒ˜, ์„ฑ๋ณ„, ์ƒ๋…„์›”์ผ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.   ๐Ÿ’› ๋ฌธ์ œMEMBER_PROFILE ํ…Œ์ด๋ธ”์—์„œ ์ƒ์ผ์ด 3์›” ์ธ ์—ฌ์„ฑ ํšŒ์›์˜ ID, ์ด๋ฆ„, ์„ฑ๋ณ„, ์ƒ๋…„์›”์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ NULL์ธ ๊ฒฝ์šฐ๋Š” ์ถœ๋ ฅ๋Œ€์ƒ์—์„œ ์ œ์™ธ์‹œ์ผœ ์ฃผ์‹œ๊ณ , ๊ฒฐ๊ณผ๋Š” ํšŒ์›ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ๐Ÿ’š ์ถœ๋ ฅ ์˜ˆ์‹œ โš ๏ธ์ฃผ์˜์‚ฌํ•ญโš ๏ธDATE_OF_BIRTH์˜ ๋ฐ์ดํŠธ ํฌ๋งท์ด ์˜ˆ์‹œ์™€ ๋™์ผํ•ด์•ผ ์ •๋‹ต์ฒ˜๋ฆฌ ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ’œ ํ’€์ด ์ฒซ๋ฒˆ์งธ ์‹œ๋„ ๐Ÿ™…๐Ÿป‍โ™€..
โค๏ธ ๋ฌธ์ œ์„ค๋ช…ANIMAL_INS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ๋ณดํ˜ธ ์‹œ์ž‘์ผ, ๋ณดํ˜ธ ์‹œ์ž‘ ์‹œ ์ƒํƒœ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๐Ÿ’› ๋ฌธ์ œ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋ชจ๋“  ๋™๋ฌผ์˜ ์ด๋ฆ„๊ณผ ๋ณดํ˜ธ ์‹œ์ž‘์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ANIMAL_ID ์—ญ์ˆœ์œผ๋กœ ๋ณด์—ฌ์ฃผ์„ธ์š”.  ๐Ÿ’š ์ถœ๋ ฅ ์˜ˆ์‹œSQL์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.โ€‹๐Ÿ’œ ํ’€์ด- ์ง€๊ธˆ๊นŒ์ง€ ํ‘ผ ๊ฒƒ ์ค‘์— ์ œ์ผ ์‰ฌ์šด ๋ฌธ์ œ- ํ…Œ์ด๋ธ”์—์„œ ์ด๋ฆ„์ด๋ž‘ ๋ณดํ˜ธ์‹œ์ž‘์ผ ๊ฒ€์ƒ‰ํ•˜๋ฉด์„œ ์ •๋ ฌ๋งŒ ๋™๋ฌผ..
โค๏ธ ๋ฌธ์ œ์„ค๋ช…๋‹ค์Œ์€ ์–ด๋Š ์˜๋ฅ˜ ์‡ผํ•‘๋ชฐ์˜ ์˜จ๋ผ์ธ ์ƒํ’ˆ ํŒ๋งค ์ •๋ณด๋ฅผ ๋‹ด์€ ONLINE_SALE ํ…Œ์ด๋ธ” ์ž…๋‹ˆ๋‹ค. ONLINE_SALE ํ…Œ์ด๋ธ”์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE๋Š” ๊ฐ๊ฐ ์˜จ๋ผ์ธ ์ƒํ’ˆ ํŒ๋งค ID, ํšŒ์› ID, ์ƒํ’ˆ ID, ํŒ๋งค๋Ÿ‰, ํŒ๋งค์ผ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋‚ ์งœ, ํšŒ์› ID, ์ƒํ’ˆ ID ์กฐํ•ฉ์— ๋Œ€ํ•ด์„œ๋Š” ํ•˜๋‚˜์˜ ํŒ๋งค ๋ฐ์ดํ„ฐ๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.   ๐Ÿ’› ๋ฌธ์ œONLINE_SALE ํ…Œ์ด๋ธ”์—์„œ ๋™์ผํ•œ ํšŒ์›์ด ๋™์ผํ•œ ์ƒํ’ˆ์„ ์žฌ๊ตฌ๋งคํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌํ•˜์—ฌ, ์žฌ๊ตฌ๋งคํ•œ ํšŒ์› ID์™€ ์žฌ๊ตฌ๋งคํ•œ ์ƒํ’ˆ ID๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ํšŒ์› ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ํšŒ์› ID๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ƒํ’ˆ ID๋ฅผ..
โœ… List๋ฅผ map์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ด์œ  db๋‚˜ API์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์™€์„œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ์†๋„๋‚˜ ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ map์ด ๋น ๋ฆ„์ฆ‰, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋‚˜, ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด์„œ ํ•„์š”ํ•จ.์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” map์€ ํ•ด์‹œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ ํ‚ค,๊ฐ’ ์Œ ํ˜•์‹์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ.  JSON์ด๋ž‘ ๋น„์Šทํ•œ ํ˜•์‹์ด์ง€๋งŒ ์ž๋ฐ”์˜ map์€ ํ‚ค๊ฐ’ ํƒ€์ž…์„ ์ œ๋„ค๋ฆญ์œผ๋กœ ์ง€์ •ํ•ด ์ฃผ์–ด์•ผ ํ•˜๊ณ Map์ฒ˜๋Ÿผ ๋ช…ํ™•ํ•œ ํƒ€์ž…์„ ์ง€์ •ํ•ด ์ฃผ์–ด์•ผ ํ•จ. [JSON]{ "name": "Alice", "age": 30, "isEmployee": true} [JAVA map]Map person = new HashMap();person.put("name", "Alice");person.put("age", 30);person.put("isEmployee", ..
โค๏ธ ๋ฌธ์ œ ์„ค๋ช…๋‹ค์Œ์€ ์•„์ด์Šคํฌ๋ฆผ ๊ฐ€๊ฒŒ์˜ ์ƒ๋ฐ˜๊ธฐ ์ฃผ๋ฌธ ์ •๋ณด๋ฅผ ๋‹ด์€ FIRST_HALF ํ…Œ์ด๋ธ”๊ณผ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์€ ICECREAM_INFO ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. FIRST_HALF ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, SHIPMENT_ID, FLAVOR, TOTAL_ORDER ๋Š” ๊ฐ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ๊ณต์žฅ์—์„œ ์•„์ด์Šคํฌ๋ฆผ ๊ฐ€๊ฒŒ๊นŒ์ง€์˜ ์ถœํ•˜ ๋ฒˆํ˜ธ, ์•„์ด์Šคํฌ๋ฆผ ๋ง›, ์ƒ๋ฐ˜๊ธฐ ์•„์ด์Šคํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. FIRST_HALF ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ํ‚ค๋Š” FLAVOR์ž…๋‹ˆ๋‹ค. ICECREAM_INFO ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, FLAVOR, INGREDITENT_TYPE ์€ ๊ฐ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ๋ง›, ์•„์ด์Šคํฌ๋ฆผ์˜ ์„ฑ๋ถ„ ํƒ€์ž…์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. INGREDIENT_TYPE์—๋Š” ์•„์ด์Šคํฌ๋ฆผ์˜ ์ฃผ ์„ฑ๋ถ„์ด ์„คํƒ•์ด๋ฉด sugar_based๋ผ๊ณ  ์ž…๋ ฅ..
ํŒŒ์ด์ฌ ์ž˜ ์•ˆ ํ•ด์„œ ํ•ญ์ƒ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„ ์ •๋ฆฌ ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.  1. sys.stdin.readline() sys.stdin.readline()์€ Python์—์„œ ํ‘œ์ค€ ์ž…๋ ฅ์„ ํ†ตํ•ด ํ•œ ์ค„์˜ ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜์ด ํ•จ์ˆ˜๋Š” ์ „์ฒด ์ค„์„ ์ž…๋ ฅ๋ฐ›์€ ํ›„, ๋งˆ์ง€๋ง‰์— ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž(\n)๋ฅผ ํฌํ•จํ•œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ ๋ณดํ†ต input() ํ•จ์ˆ˜์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜์ง€๋งŒ, ์„ฑ๋Šฅ์ด ๋” ๋น ๋ฅด๊ณ  ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋” ํšจ์œจ์ ์ž„.ํŠนํžˆ ํŒŒ์ผ์ด๋‚˜ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค. 2. ์‚ฌ์šฉ๋ฒ• โœ… ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•import sys // sys ๋ชจ๋“ˆ ๊ฐ€์ ธ์˜ค๊ธฐ# ํ•œ ์ค„ ์ž…๋ ฅ ๋ฐ›๊ธฐline = sys.stdin.readline()# ์ถœ๋ ฅprint("์ž…๋ ฅํ•œ ๋‚ด์šฉ:", line)  โœ… ์ž…๋ ฅ ๋ฐ›์€ ํ›„ ์ค„๋ฐ”๊ฟˆ(\n) ์ œ๊ฑฐsy..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'์ฝ”๋“œ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (8 Page)
์ƒ๋‹จ์œผ๋กœ