1. ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?์ค๋ ๊ฐ์๋ ๋ฐ๋ก ์๋ณด๊ณ ๊ธฐ์ ๋ฉด์ ์กฑ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋กคํ๋ ์์ ํ๋ค.๋ ์ฝํ
๋ฅผ ๋ดค๋๋ฐ ๋์ด๋๊ฐ ์๊ฐ๋ณด๋ค ์์ด์ ๊น์ง ๋๋ผ๋ฒ๋ ธ๋ค.๋ ๋ป๋ป๋จ..;; ๋ ์ด์ฌํ ํด์ผํ ๊ฑฐ ๊ฐ๋ค.์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ๋นจ๋ฆฌ ์์ํด์ผ๋ง ํ ๊ฒ ๊ฐ๋ค. 2. ์ด๋ฒ ์ฃผ ์งํ๋ ํ ์คํฐ๋์์ ์ป์ ์ธ์ฌ์ดํธ๋ ๋ฌด์์ธ๊ฐ์?๊ธฐ์ ๋ฉด์ ์กฑ๋ณด์ ํ๋์ฉ ๋ต์ ๋ฌ์๊ฐ๋ ๊ฑด ๊ด์ฐฎ์๋ฐ, ์ด๊ฑธ ์ธ์์ ์กฐ๋ฆฌ์๊ฒ ๋งํ๋๊ฒ ์ด๋ ค์ด ์ผ ๊ฐ๋ค.์ค๋์ 3๊ฐ๋ฅผ ์ ๋ฆฌํ์ผ๋๊น ๋ด์ผ๋ถํฐ 3๊ฐ์ฉ ์ ๋ฆฌํ๋ ๊ฑฐ๋ ๋ฃจํด์ ์ถ๊ฐํด์ผ๊ฒ ๋ค! ํญํด ๊ฐ๋ฐ์ ์ทจ์
๋ฆฌ๋ถํธ ์ฝ์ค๋ฅผ ์๊ฐํ๊ณ ์์ฑํ ์ฝํ
์ธ ์
๋๋ค.https://hanghae99.spartacodingclub.kr/reboot IT ์ปค๋ฆฌ์ด ์ฑ์ฅ ์ฝ์ค ํญํด99, ๊ฐ๋ฐ์ ์ทจ์
๋ถํฐ ํ์ง์..
๊ฐ์๊ธฐ 10์ผ์ ๊ฑด๋๋ฐ๊ณ 11์ผ๋ก ๋์ด์จ ๋ ใ
..์ปจ๋์
์ด ์ง์ง ๋ง๋ ์๋๊ฒ ์ ์กฐํด์ ์์ฒด ์กฐํดํด๋ฒ๋ ธ๋ค ใ
ใ
ใ
.. ์ค๋๋ถํฐ ์ํ๋ฉด ๋์ง!! 1. ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?์ค๋์ 2์ฐจ์ ๋ฐฐ์ด์ ์ด๋ป๊ฒ ์๋ฆฌ์กฐ๋ฆฌ ๊ตด๋ ค๋ณด๋ ๊ทธ๋ฐ๊ฑธ ํ์ตํ๋ ๊ฐ์์๋ค.์ญ์๋ ๊ฐ์ ๋ด์ฉ์ ๊ทธ๋ ๊ฒ ๊น์ง ์์์ ์ ๋ณด์ง ์์๋ค.๊ทผ๋ฐ ๊ณผ์ ๋ ์์ฒญ ๋นก์
๋ค. 2. ์ด๋ฒ ์ฃผ ์งํ๋ ํ ์คํฐ๋์์ ์ป์ ์ธ์ฌ์ดํธ๋ ๋ฌด์์ธ๊ฐ์?์ญ์๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํ์ฉํด์ผํ๋ค๋ ์๊ฐ์ด ๊ฐํ๊ฒ ๋ค์๋ค.๊ธฐ๋ณธ ์์์ด ์ข ์ฝํ๊ฑฐ ๊ฐ์์ ๊ฐ์ธ ๊ณต๋ถ๋ฅผ ๊ฒธํ๊ณ ์๋๋ฐ, ์ค๋์ ๋ฌธ์ ๋ค ์์ค์ด ๋๋ฌด ๋์์ ๋ฌธ์ ํธ๋๋ผ ์ ์ ์ด ์์๋ค.๋ฐฐ์ด์ ํต์งธ๋ก ์ด๋ํด์ผํ๋ ๊ฒฝ์ฐ ์ด๋ํ๋ ์กฐ๊ฑด์ ๋ฒ์๋ฅผ ์ ์ ํด์ฃผ๊ณ , ์ด์งํ์์ ํ ์ ์์ ํ๊ณ ,isBoolean ๊ฐ์ ๋ฉ์๋๋ก..
1. ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?์ค๋์ ๊ฐ์์์ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ค๋ช
ํ๋ค.https://tobuymacbookpro.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%ED%9A%A8%EC%9C%A8%EC%84%B1-%EC%8B%9C%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F%84%EC%99%80-%EA%B3%B5%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F%84-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%A0%90%EA%B7%BC%EC%A0%81-%ED%91%9C%EA%B8%B0%EB%B2%95-%EC%B4%9D%EC%A0%95%EB%A6%AC [์๊ณ ๋ฆฌ์ฆ ํจ์จ์ฑ] ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋..
์๊ณ ๋ฆฌ์ฆ ํจ์จ์ฑ ์ฒดํฌ์์ ์ฐ์ด๋ ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋, ๊ทธ๋ฆฌ๊ณ Big-O ํ๊ธฐ๋ฒ์ ๋ํด ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๊ณ ์ ํ๋ค.์ฝํ
์์ ์ด๋์ ๋ ๊ตฌํ์ ํ๋ค๋ณด๋ฉด ์๊ฐ ์ด๊ณผ ํน์ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๋ฅผ ๊ฒช๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.๊ทธ ๋ ์ด๋ค ๊ณณ์ ์ต์ ํํ๋ฉด ์ข์์ง ์๊ณ ์ ๊ฒธ์ฌ๊ฒธ์ฌ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๊ธฐ๋ก ํ๋ค.์ ๋์ ๋ชจ๋ฅผ ๋์ ์ฝ๋ ๊ตฌํ์ ์ ๋ง ๋ฌ๋ผ์ง ๊ฒ์ด๋ค. ๐ ๋ณต์ก๋ & ์ ๊ทผ์ ํ๊ธฐ๋ฒ ๋ณต์ก๋, ๊ทธ๊ฒ์ด ๋ฌด์์ธ๊ฐ ๐ง์ปดํจํฐ ๊ณผํ์์ ์๊ณ ๋ฆฌ์ฆ์ ๊ณ์ฐ ๋ณต์ก๋(Computational Complexity) ํน์ ๋ณต์ก๋(Complexity)๋ผ๋ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ์คํํ๋ ๋ฐ ํ์ํ ์์์ ์์ ๋ปํ๋ค.์ด๋ ๊ณณ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ์ธก์ ํ๋ ๋ฐ ์ฌ์ฉ๋๊ณ , ๋ณต์ก๋๊ฐ ์์ผ๋ฉด ์์ ์๋ก ํด๋น ์๊ณ ๋ฆฌ์ฆ์ด ํจ์จ์ ์ด๋ผ๊ณ ํ๋จํ๋ค.์ฌ๋ฌ ๋ณต์ก๋๊ฐ ์์ง๋ง ๋ํ์ ์ธ..
1. ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?์ค๋ ๊ฐ์๋ ์๋ฃํ์ ๊ดํ ๊ฒ์ด์๋๋ฐ, ๊ธธ์ด 30๋ถ์ง๋ฆฌ๋๋งํผ ์์ฒญ ๊น์ด ์๋ ๋ด์ฉ์ ์๋์ด์ ๊ทธ๋ฅ ๊ณผ๊ฐํ ํจ์คํ๋ค.๋์ ์ ๋ ํ๋ ์ฝํ
๊ณผ์ ์์ ์ ๋ ฌ์ด ๊ฝค ๋ง์ด ๋์๋ ๊ฒ์ ๊ธฐ์ตํ๊ณ , ์ด๋ฒ ๊ธฐํ์ ์ ๋ ฌ๊ณผ ๊ทธ๋์ comparable, comparator๋ฅผ ํ์คํ ์์๊ฐ์๋ ๋ง์์ผ๋ก ๊ณต๋ถํ๋ฉด์ ์ ๋ฆฌ๊ธ์ ํ๋ ํฌ์คํ
ํ๋ค.https://tobuymacbookpro.tistory.com/entry/%EB%82%B4%EA%B0%80-%EB%B3%B4%EB%A0%A4%EA%B3%A0-%EC%93%B0%EB%8A%94-%EA%B8%80-JAVA-Comparable-Comparator-%EC%A0%95%EB%A6%AC [๋ด๊ฐ ๋ณด๋ ค๊ณ ์ฐ๋ ๊ธ] JAVA ์ ๋ ฌ ๊ทธ๋ฆฌ๊ณ C..
๐ Arrays.sort & Collections.sort ๋๋ค ์๋ฐ์์ ๋ฐฐ์ด์ ์ ๋ ฌ ํ ๋ ์ฌ์ฉ๋๋ค.1. Arrays.sort์ด ๋ฉ์๋๋ ๋ฐฐ์ด์ ํ์
์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.์ฆ, ํ๋ฆฌ๋ฏธํฐ๋ธ ํ์
๊ณผ ๊ฐ์ฒด ํ์
์ ๋ํด ๋ค๋ฅด๊ฒ ๋์ํ๋ค. 1๏ธโฃ ํ๋ฆฌ๋ฏธํฐ๋ธ ํ์
์ ์ ๋ ฌ (int[], double[] ๋ฑ)ํ๋ฆฌ๋ฏธํฐ๋ธ ํ์
์ ๋ฐฐ์ด์ ์ ๋ ฌํ ๋ Dual-Pivot Quicksort ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.๋ ๊ฐ์ ํผ๋ฒ์ ์ฌ์ฉํด์ ๋ฐฐ์ด์ ์ธ ๋ถ๋ถ์ผ๋ก ๋๋๊ณ ์ ๋ ฌํ๋ค.์๊ณ ๋ฆฌ์ฆ ์ ๋ณด๊น์ง๋ ์ด ๊ธ์ด ๋๋ฌด ๊ธธ์ด์ง ์ฐ๋ ค๊ฐ ์์ด์ ๋์ค์ ์ ๋ฆฌ ๊ธ์ ์ฌ๋ฆฌ๊ธฐ๋ก ํ๋ค.์ด ์๊ณ ๋ฆฌ์ฆ์ ํ๊ท ์ ์ผ๋ก O(n log n)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ฉฐ, ์ต์
์ ๊ฒฝ์ฐ O(n^2)๊น์ง ๊ฐ ์ ์์ง๋ง, ์ต์
์ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๋งค์ฐ ๋ฎ๋ค. ..
์ค๋๋ถํฐ ๋ฐฑ์ค ์ฝ๋ฉํ
์คํธ ๋ฌธ์ 4๊ฐ์ฉ ํ๋ฉด์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋
์ ๊ณต๋ถํ๋ ์ฃผ์ฐจ๊ฐ ์์๋์๋ค.์์ฃผ ํธ๊ธฐ๋กญ๊ฒ ์ฑ๋ฆฐ์ง ๋ฐ์ ์ ์ฒญ์ ๋ฃ์๋๋ฐ ๋ฌธ์ ๊ฐ ๋ง๋ง์น ์๋ค.์๋ฌด๋๋ ๋ด์ฃผ์ ๋ฒ ์ด์ง ๋ฐ์ผ๋ก ๊ฐ๊ฑฐ๋ ํด์ผ๊ฒ ๋ค; ใ
์ค๋ ์๊ฐ ๋ฐฐ๋ถ์ ํจ์จ์ ์ผ๋ก ํ์ง ๋ชปํ ๊ฒ ๊ฐ์์ ์ข ์์ํ๋ค.๋ด์ผ๋ถํด ์ผ์ฐ ์ผ์ด๋์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์๋ฅผ ๋นก ์ง์คํด์ ๋ณด๊ณ , ๋ด ํ์ด์ค๋๋ก ์๊ฐ์ ์จ์ผ๊ฒ ๋ค. 1. ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์? BufferReader๋ก ์
๋ ฅ ๋ฐ๋ ๊ฒ์ด ๋น ๋ฅด๋ค. -> ๋์ค์ ๋ด์ฉ ์ ๋ฆฌํด์ ๊ณต๋ถํด๋์ผ๊ฒ ๋ค.StringBuilder : String์ ๋ถ๋ณ ๊ฐ์ฒด์ธ๋ฐ, ์ด๊ฒ์ ๋ณ๊ฒฝ๊ฐ๋ฅํ String์ผ๋ก ๋ง๋ค๊ธฐ ํธํ๊ฒ ์ ๊ณตํ๋ ํ์
์ด๋ค.StringBuilder -> String์ ๋ด์ ๋์๋ toString()์ ํด์ฃผ๊ณ ๋ด..
์ด๋ฒ์ฃผ ์ฃผ์ฐจ์ ๋ชฉํ์๋ ์ด๋ ฅ์๋ ์์ฑํ๋ค.์ด๋ ฅ์์ ์ฐ์ผ ์ฌ๋ฃ๋ค๋ ๋ค ๋ค๋ฌ์ ๊ฒ ๊ฐ๋ค.์์ง ์กฐ๊ธ ๋จ์์ง๋ง ๊ทธ ์ ์ ๋นํ๋ค๋ฉด ์ ๋ง ์์ฃผ ์์ํ๋ค.์~ํ๊น์ง ํ์ต ์๊ฐ ๊ธฐ๋ก ์ธ์ฆ => 89:33:57 ํ์ต์๊ฐ์ ๊ฐ์ก๋ค. ํด..1. ํญํด99 ์ทจ์
๋ฆฌ๋ถํธ ์ฝ์ค 1์ฃผ์ฐจ์ ์ฐธ์ฌํ๋ฉด์ ์ด๋ค ๋ด์ฉ์ ํ์ตํ ์ ์์๋์?๋ง์ ์ง์๊ณผ ์ฉ๊ธฐ, ๊ทธ๋ฆฌ๊ณ ์ด์ ์ ์ป์๋ค.๊ธฐ๋ณธ์ ์ผ๋ก "์ฑ์์๊ฒ ๋ณด์ด๋"์ด๋ ฅ์๋ ์ด๋ค ์ด๋ ฅ์์ธ์ง, ์ธ์ฌ๋ด๋น์๊ฐ ๋ณด๊ณ ์ถ์ ๋ด์ฉ์ ๋ฌด์์ธ๊ฑด์ง๋ฅผ ์ ์ ์์๋ค.์ฝ๋ฉํ
์คํธ๋ฅผ ์ฒ์ ์ ํ ๋ ๋ฌธ์ ๋ ์ ์ฝํ๋ ๊ฒ์ฒ๋ผ, ์ด๋ ฅ์๋ ๊ทธ๋์ ๊ตฌ์ฒด์ ๊ตฌ์ฒด์ !! ์ด๊ฒ ๋ญ์ง ๋ชจ๋ฅด๊ฒ ์๋ค.๊ทผ๋ฐ ๋งค์ฐ ๋ค์ํ๊ณ , ๊ตฌ์ฒด์ ์ธ ์์์ ํผ๋๋ฐฑ๊น์ง ๋ฐ์ผ๋ฉด์ ์~ ์ด๊ฒ ๊ตฌ์ฒด์ ์ธ ์ดํ์ด ๋๋ ๊ฑฐ๊ณ , ์ด๊ฑด ์๋๊ณ ์ด๋ฐ ๊ธฐ๋ณธ ์์์ ๊ฐ์ง ์ ์๊ฒ ..
์ด๋ฐ์์ผ๋ก ๊ตฌ์ฑ๋ ๊ตฌ์กฐ๋ฅผ ์๊ฐํ๋ฉฐ ํ๋ก์ ํธ ์ฝ๋ ๋จ์ ๊ตฌํํด๋ณด๋๋ก ํ๊ฒ ๋ค. 1. ์ต์
๊ด๋ จ DB ํ
์ด๋ธ์ ํด๋น๋๋ ์ํฐํฐ1๏ธโฃ ์ต์
์นดํ
๊ณ ๋ฆฌ ์ํฐํฐ์ฐ์ ์ต์
์นดํ
๊ณ ๋ฆฌ๋ถํฐ ์กด์ฌํด์ผํ๋ค.@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public class OptionCategory extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "option_category_id") private Long id; private String name; @OneToMany(mappedBy = "optionCateg..
๐๐ป ์คํ ๋ง์ผ ํ๋ซํผ: ์ํ์ ๊ตฌ๋งค ๋๋ ํ๋งคํ ์ ์๋ ๊ธฐํ๊ฐ ๊ฐ๋ฐฉ๋์ด ์๋ ์จ๋ผ์ธ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ์ผ์ปซ๋๋ค. ์๋น์ค ์ด์์ฌ๊ฐ ๊ฑฐ๋์ ๊ด์ฌํ์ง ์๊ณ ํ๋ซํผ๋ง ์ ๊ณตํ๋ ์ค๊ฐ์์ ์ญํ ๋ง ํ๋ค๋ ์ ์์ ๋ค๋ฅธ ์ ์์๊ฑฐ๋ ํํ์ ๊ตฌ๋ถ๋๋ค.์คํ ๋ง์ผ ํ๋ซํผ์ ํน์ฑ์ ํ๋งค์๊ฐ ์ํ๋ ๋๋ก ์ํ์ ํ๋งคํ ์ ์์ด์ผํ๋ค.์ฆ, ์ํ์ ์ต์
, ์ด๋ฏธ์ง, ํ๊ทธ ๋ฑ๋ฑ ๋์ ์์ ๋๋ฅผ ์ ๊ณตํด์ผํ๋ค๋ ๊ฒ์ด๋ค.์ด๋ฐ ํน์ฑ ๋๋ฌธ์ ์คํ ๋ง์ผ ํ๋ซํผ ํ๋ก์ ํธ๊ฐ ํ๊ณ ์ถ์๊ธฐ๋ ํ๋ค. ๋ฐ๋ผ์, DB ์ค๊ณ ์ ํ์ฅ์ฑ ์ธก๋ฉด์ ๋งค์ฐ ์ค์ํ๊ฒ ์๊ฐํ๋ค.1. ์ต์
DB ERD ์ค๊ณ์ค์ ํ๋ก์ ํธ์์ ๊ตฌํํ ์ํ-์ํ์ต์
๋ถ๋ถ ERD์ด๋ค. 1๏ธโฃ ์ํ๊ณผ ์ต์
์ ๋ค๋๋ค ๊ด๊ณ์ด๋ค.์ฒ์์๋ ์ํ๊ณผ ์ต์
์ N:M์ ๊ด๊ณ๋ก๋ง ์๊ฐํ๋ค.์ํ๋ ์ฌ๋ฌ ์ต์
์ ..