โค๏ธ ๋ฌธ์ ์ค๋ช
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์ ์ ์ฉ์ ๋ฐ์ต๋..
My Tech Blog (์ฝ๋)
์ฌ๋ฌ๋ถ๋ค ์
๋ ฅ๋๊ตฌ 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..