๋ชฉ๋ก์ ์ฒด ๊ธ (244)
๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
postgres๊ฐ ๊น๋ ค์๋ ์๋ฒ์ ์ ์ํ์ฌ ๊ถํ์ postgres๋ก ๋ฐ๊พผ ํ psql๋ก ์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค. pg_dump -d DB์ด๋ฆ -U DB์ ์ ์ด๋ฆ -t ํ ์ด๋ธ๋ช > ํ ์ด๋ธ๋ช .sql
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rdudq/btrqAoaqjb6/PeaLsq6zLRjoBlrkBwxBGk/img.jpg)
์ค๋ช 0๊ณผ 1๋ก ๊ตฌ์ฑ๋ ๊ธธ์ด๊ฐ N์ธ ์์ด์ด ์ฃผ์ด์ง๋๋ค. ์ฌ๋ฌ๋ถ์ ์ด ์์ด์์ ์ต๋ k๋ฒ์ 0์ 1๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ต๋ k๋ฒ์ ๋ณ๊ฒฝ์ ํตํด ์ด ์์ด์์ 1๋ก๋ง ๊ตฌ์ฑ๋ ์ต๋ ๊ธธ์ด์ ์ฐ์๋ถ๋ถ์์ด์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋ง์ฝ ๊ธธ์ด๊ฐ ๊ธธ์ด๊ฐ 14์ธ ๋ค์๊ณผ ๊ฐ์ ์์ด์ด ์ฃผ์ด์ง๊ณ k=2๋ผ๋ฉด 1 1 0 0 1 1 0 1 1 0 1 1 0 1 ์ฌ๋ฌ๋ถ์ด ๋ง๋ค ์ ์๋ 1์ด ์ฐ์๋ ์ฐ์๋ถ๋ถ์์ด์ ์ด๋ฉฐ ๊ทธ ๊ธธ์ด๋ 8์ ๋๋ค. ์ ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์ ์์ด์ ๊ธธ์ด์ธ ์์ฐ์ N(5
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dxdJLD/btrp6xyy0Z7/wgeZo7HT963aw4GowZBQbK/img.jpg)
์ซ์0~9๊น์ง ์์คํค์ฝ๋๊ฐ์ 48~57 ์๋ฌธa~z๊น์ง์ ์์คํค์ฝ๋๊ฐ์ ๋๋ฌธ์ 65~90 ์๋ฌธ์ 97~122 ์ถ์ฒ: https://copyrightyoon.tistory.com/1417 [์ ์ฉํ์ ๋ณด]
์ฟผ๋ฆฌ ์ ๋ ฅ์ฐฝ์ COPY ( select * from ํ ์ด๋ธ์ด๋ฆ where ์กฐ๊ฑด ) TO '/home/postgres/์ ์ฅ.csv' with csv header DELIMITER ','; ์ด๋ ๊ฒ ์ ๋ ฅํ๋ฉด ํฌ์คํธ ๊ทธ๋ ์ค๊ฐ ์ค์น๋์ด ์๋ ์๋ฒ์ /home/postgres ๊ฒฝ๋ก์ csv๊ฐ ์ ์ฅ๋ฉ๋๋ค.
ํด๋น ์๋ฌ๋ ์ฟผ๋ฆฌ๋ฌธ์ ์ปฌ๋ผ์ด ์กด์ฌํ์ง ์์๋ ๋ฐ์ํ๋ค. ํ์ง๋ง ๋์ ๊ฒฝ์ฐ๋ ๋ฌ๋๋ค. ์ง์ DB์ ๋ถ์ด ์ฟผ๋ฆฌ๋ฅผ ์คํํ์๋๋ ์ ๋๋ ๊ฒ์ด๋ค. ๋ฌธ์ ๋ ibatis์์ ์ฟผ๋ฆฌ๋ฌธ์ ์คํ ํ ๋ remapResults="true"๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด ๋๋ ๊ฒ์ด๋ค. ์๋ง ์บ์ฌ๋ฌธ์ ์ผ ๊ฒ ๊ฐ๋ค. ์)
XMLํ์ผ ์์๋ ๋ถ๋ฑํธ๋ฅผ TAG๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ "The content of elements must consist of well-formed character data or markup." ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ Query์์ ์ฌ์ฉ๋๊ณ ์๋ ๋ถ๋ฑํธ๊ฐ ๋ฌธ์์ด์ด๋ผ๋ ๊ฒ์ ์๋ฏธํ๊ฒ = #searchYearStart# ]]> ์ผ๋ก ๊ฐ์ธ์ค๋ค.
์ค๋ช ์ด๋ฒ ์ ๋ณด์ฌ๋ฆผํผ์๋๋ํ์์ ์ข์ ์ฑ์ ์ ๋ด๊ธฐ ์ํ์ฌ ํ์๋ ์ ์๋์ด ์ฃผ์ N๊ฐ์ ๋ฌธ์ ๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ ๋ฌธ์ ๋ ๊ทธ๊ฒ์ ํ์์ ๋ ์ป๋ ์ ์์ ํธ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ฃผ์ด์ง๊ฒ ๋ฉ๋๋ค. ์ ํ์๊ฐ M์์ N๊ฐ์ ๋ฌธ์ ์ค ์ต๋์ ์๋ฅผ ์ป์ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. (ํด๋น๋ฌธ์ ๋ ํด๋น์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉด ํธ๋ ๊ฑธ๋ก ๊ฐ์ฃผํ๋ค, ํ ์ ํ๋น ํ๊ฐ๋ง ํ ์ ์์ต๋๋ค.) ์ ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์ ๋ฌธ์ ์ ๊ฐ์N(1
์ค๋ช ์ฒ ์๋ ๊ทธ์ ๋ฐ๋์ด๋ค์ ๋ฐ๋ฆฌ๊ณ ์์ฅ์ ๊ฐ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ์ ํธ๋ญ์ Cํฌ๋ก๊ทธ๋จ ๋๊ฒ ํ์ธ์๊ฐ ์๋ค. ์ฒ ์๋ C๋ฅผ ๋์ง ์์ผ๋ฉด์ ๊ทธ์ ๋ฐ๋์ด๋ค์ ๊ฐ์ฅ ๋ฌด๊ฒ๊ฒ ํ์ฐ๊ณ ์ถ๋ค. N๋ง๋ฆฌ์ ๋ฐ๋์ด์ ๊ฐ ๋ฐ๋์ด์ ๋ฌด๊ฒ W๊ฐ ์ฃผ์ด์ง๋ฉด, ์ฒ ์๊ฐ ํธ๋ญ์ ํ์ธ ์ ์๋ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ๋ฌด๊ฒ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์ ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ C(1
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CSyMN/btrlSkJYpHL/1foMOtIxrYpr75diNUHe51/img.png)
maven install์ ํ๋ฉด ๋น๋๊ฐ ๋๋๋ฐ ์์ค ์ฝ๋ ์์ ์ ์๋๋น๋๊ฐ ๋์ง ์์๋ 1. Build Automatically ๊ฐ ์ฒดํฌ๋์ด์๋์ง ํ์ธํ๋ค. 2. ์ดํด๋ฆฝ์ค์ Markers ์์ ๋นจ๊ฐ์์ ์ค๋ฅ๋ฅผ ์ฐพ์๋ณธ๋ค. ๋ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํ๋ก์ ํธ ์ฐํด๋ฆญ > properties์์ Java Build Path์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ์ด์ ์ ์ฐ๋ค๊ฐ ์์จ์ ์ง์๋ฒ๋ฆฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฒฝ๋ก๊ฐ ๋จ์ ์์๋ค. ๊ทธ๋์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ๋๋ง๋ค ๊ณ์ ์๋ฌ๊ฐ ๋๊ณ ์์๋๊ฒ์ด๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ ๋๋ ํด๊ฒฐ๋์๋ค.
์ค๋ช N๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋ ์์ฐ์ ์งํฉ์ด ์ฃผ์ด์ง๋ฉด, ์ด ์งํฉ์ ๋ ๊ฐ์ ๋ถ๋ถ์งํฉ์ผ๋ก ๋๋์์ ๋ ๋ ๋ถ๋ถ์งํฉ์ ์์์ ํฉ์ด ์๋ก ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ฉด “YES"๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ”NO"๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋๋ก ๋๋๋ ๋ ๋ถ๋ถ์งํฉ์ ์๋ก์ ์งํฉ์ด๋ฉฐ, ๋ ๋ถ๋ถ์งํฉ์ ํฉํ๋ฉด ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์๋์ ์งํฉ์ด ๋์ด ํฉ๋๋ค. ์๋ฅผ ๋ค์ด {1, 3, 5, 6, 7, 10}์ด ์ ๋ ฅ๋๋ฉด {1, 3, 5, 7} = {6, 10} ์ผ๋ก ๋ ๋ถ๋ถ์งํฉ์ ํฉ์ด 16์ผ๋ก ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ ๊ฒ์ ์ ์ ์๋ค. ์ ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N(1