Banner

My Tech Blog (์ •๋ ฌ)

์˜ค๋Š˜์˜ ๋ช…์–ธ
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ํ’€์ด๊ณผ์ •์ฒ˜์Œ์— ์ ‘๊ทผํ•œ ๋ฐฉ์‹1. my_string์„ toCharArray()๋กœ char ํƒ€์ž…์˜ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜2. for ๋ฌธ์œผ๋กœ ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ `Character.isDigit(c)` ๋ฉ”์„œ๋“œ๋กœ ์š”์†Œ๊ฐ€ ์ˆซ์ž์ด๋ฉด count++3. 2์—์„œ ๋‚˜์˜จ count ํฌ๊ธฐ๋งŒํผ์˜ int ๋ฐฐ์—ด์„ ์„ ์–ธํ•œ๋‹ค. 4. for each๋ฌธ์œผ๋กœ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ `Integer.parseInt(String.valueOf(c));` ๋กœ ์ˆซ์ž๋งŒ int ๋ฐฐ์—ด์— ์ถ”๊ฐ€5. ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ โญ`Character.isDigit()`๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ž๊ฐ€ ์ˆซ์ž(0~9)์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ž๋ฐ” ๋ฉ”์„œ๋“œํŠน์ • ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋‹จํ•˜์—ฌ, ์ˆซ์ž์ด๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.โญ `Inte..
์ •๋ ฌ(Sort)๊ฐœ์š”๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ๋˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์—ดํ•˜๊ฑฐ๋‚˜ ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.  ์ •๋ ฌ์„ ํ™œ์šฉํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋Š” ๋งค์šฐ ๋‹ค์–‘ํ•˜๋‹ค. ์ •๋ ฌ ๋ฌธ์ œ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ๋Š” ์ •๋ ฌ ๊ธฐ์ค€์„ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ณ , ๊ทธ์— ๋งž๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ด์ง„ ํƒ์ƒ‰, ํˆฌ ํฌ์ธํ„ฐ, ๋นˆ๋„์ˆ˜ ๊ณ„์‚ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์กฐํ•ฉํ•ด ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋“ค์ด ๋งŽ๋‹ค.  ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ Arrays.sort() ๋ฅผ ์ด์šฉํ•ด์„œ ์ •๋ ฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋„ ์žˆ๊ณ , ์ •๋ ฌ ๊ธฐ์ค€์„ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด์— ๋งž๊ฒŒ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, Comparator ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฐ์ฒด๋ฅผ Collections.sort() ๋˜๋Š” Arrays.sort()์— ์ „๋‹ฌํ•˜์—ฌ ์ •๋ ฌํ•˜๋ฉด ๋˜๊ณ , ์ด ๋•Œ Java 8 ์ด์ƒ์—์„œ๋Š” Comparator๋ฅผ ๋žŒ๋‹ค ํ‘œํ˜„์‹์œผ๋กœ ..
๐Ÿ‘พ ๋ฌธ์ œ์ ์ฝ”ํ…Œ ๋ฌธ์ œ ํ’€๋‹ค๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ์™€ ๋‚ด ์ฝ”๋“œ์˜ ์ฐจ์ด์  ๋‚ด๊ฐ€ ์“ด ์ฝ”๋“œ (ํ•˜์ˆ˜์˜ ์ฝ”๋“œ)Arrays.sort(targets, (o1, o2) -> o1[1] - o2[1]); ๋‚จ์ด ์“ด ์ฝ”๋“œ (๊ณ ์ˆ˜์˜ ์ฝ”๋“œ)Arrays.sort(targets, (a, b) -> Integer.compare(a[1], b[1])); ์™œ ์ด ๋ถ„์€ Integer.compare() ๋ฉ”์„œ๋“œ๋ฅผ ์ผ์„๊นŒ?๐Ÿง ์›์ธ`Arrays.sort(targets, (o1, o2) -> o1[1] - o2[1])` ๋ฐฉ์‹์€ ๋‘ ์ •์ˆ˜์˜ ๋บ„์…ˆ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ ฌ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์€ ์•ฝ๊ฐ„์˜ ๋ฌธ์ œ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์œ„ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด intํ˜•์˜ ๋บ„์…ˆ ์—ฐ์‚ฐ ๊ณผ์ •์—์„œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(overflow)๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, o1[..
ํ•œ๊ธ€์—์„œ ํ‘œ ์ž‘์—…์„ ํ•˜๋‹ค๋ณด๋ฉด ๊ธ€์ž๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ ฌํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ ์…€ ๋„ˆ๋น„์— ๋งž๊ฒŒ ๊ธ€์ž๋ฅผ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•ด ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์นธ์”ฉ ํ•˜๋‚˜ํ•˜๋‚˜ ์ค„์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ๋ˆ„๋ฅด๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŒ๋งค ํ’ˆ๋ชฉ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ๊ฑฐ๋‚˜ ํ‘œ๊ฐ€ ๋งŽ๋‹ค๋ฉด ์ž‘์—…์ด ํž˜๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ ๋ฐฐ๋ถ„์ •๋ ฌ์„ ํ™œ์šฉํ•˜์‹œ๋ฉด ์ผ์ด ํŽธํ•ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ๋ถ„ ์ •๋ ฌ ํ•˜๋Š” ๋ฒ•(1) ์šฐ์„  ๊ธ€์ž๋ฅผ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด ์›ํ•˜๋Š” ์…€์„ ๋ธ”๋ก ์ง€์ •ํ•˜๊ธฐ(2) ๊ทธ๋ฆฌ๊ณ  ํ•œ๊ธ€ ์ž‘์—…์ฐฝ ์œ„์ชฝ์˜ ์„œ์‹ ํƒญ ํด๋ฆญ(3) ๋ฌธ๋‹จ๋ฉ”๋‰ด์— ์žˆ๋Š” ๋ฐฐ๋ถ„์ •๋ ฌ ์•„์ด์ฝ˜์„ ํด๋ฆญ ๋ธ”๋ก์ง€์ •์„œ์‹ ํƒญ > ๋ฐฐ๋ถ„์ •๋ ฌ ์•„์ด์ฝ˜ ์„ ํƒ๋‹จ์ถ•ํ‚คctrl shift T ์˜ˆ์‹œํ™”๋ฉด๋ฐฐ๋ถ„์ •๋ ฌ ์ ์šฉ ์ „ ๋ฐฐ๋ถ„์ •๋ ฌ ์ ์šฉ ํ›„ ๐Ÿ“ŒTMI๋ฐฐ๋ถ„์ •๋ ฌ๋œ ๊ธ€์ž๋“ค์˜ ๊ฐ„๊ฒฉ์ด ๋„ˆ๋ฌด ๋„“๊ฑฐ๋‚˜ ์กป์„๋•Œ๋Š” ๋ฌธ๋‹จ์—ฌ๋ฐฑ ๋Š˜๋ฆฌ๊ธฐ/์ค„์ด๊ธฐ `Ctrl + F..
์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฐ์—ด ์ •๋ ฌํ• ๋•Œ ์“ฐ๋Š” ๋ฉ”์„œ๋“œ `Arrays.sort()` ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ `Arrays.sort()`์— `Comparator` ๊ฐ์ฒด๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„์„œ ๋งž์ถคํ˜• ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.  ๊ธฐ๋ณธ `Arrays.sort()`์‚ฌ์šฉimport java.util.Arrays;public class Main { public static void main(String[] args) { Integer[] arr = {5, 2, 9, 1, 3}; // ๊ธฐ๋ณธ ์ •๋ ฌ (์˜ค๋ฆ„์ฐจ์ˆœ) Arrays.sort(arr); System.out.println(Arrays.toString(arr));..
๊ฐ™์€์ƒ‰๊น” ์นด๋“œ ๋งž์ถ”๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ๊ฒŒ์ž„์ด๋ผ๊ณ ๋„ ํ•˜๊ณ  ใ…Žใ…Žใ…Ž ๊ธฐ์–ต๋ ฅ ์นด๋“œ๊ฒŒ์ž„์ด๋ผ๊ณ ๋„ ํ•˜๋Š”๋ฐ.... ์ƒ‰์ƒ๋งŒ ๋„ฃ์œผ๋ฉด ์‹ฌ์‹ฌํ•˜๋‹ˆ๊นŒ ๊ณผ์ผ์ด๋ชจ์ง€๋„ ํ•จ ๊ฐ™์ด ๋„ฃ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ์—ฐ์Šต ๊ฒธ ์‹œ๊ฐ„ ๋‚  ๋•Œ ํ•ด ๋ณด์ž ใ…‹ใ…‹ใ…‹ใ…‹ โŒ๋…ธ๊ฐ€๋‹ค ๋ฐฉ์ง€ ํ˜‘ํšŒ โŒ ์นด๋“œ๋Š” 12์žฅ(6์Œ)๋งŒ ๋งŒ๋“ค์ž 1. ์ˆœ์„œ๋„draw.io๋กœ ์ž‘์„ฑํ–ˆ๊ณ , svg ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ ํ•จ. PNG๋‚˜ JPEG๋Š” ํ•ด์ƒ๋„ ์„ค์ • ์•ˆํ•˜๋ฉด ๊นจ์ง€๋‹ˆ ์ฃผ์˜ 2. ์…”ํ”Œ ํ›„ ์นด๋“œ ์ƒ์„ฑํ•˜๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์•„๋‹Œ, CSS๋กœ ๋’ค์ง‘๊ธฐ๋ฅผ ํ•ด ์ค„๊ฒƒ์ž…๋‹ˆ๋‹ค.... 2-1. CSSํด๋ž˜์Šค์ด๋ฆ„์—ญํ• CSScard์นด๋“œ ์ „์ฒด๋ฅผ ๊ฐ์‹ธ๋Š” ์ปจํ…Œ์ด๋„ˆ์นด๋“œ ํฌ๊ธฐ, 3D ์‹œ์  ์„ค์ •card-inner์นด๋“œ ์š”์†Œ ์•ˆ์—์„œ ์นด๋“œ ์•ž,๋’ท๋ฉด ๊ฐ์‹ธ๋Š” ๋‚ด๋ถ€ ์ปจํ…Œ์ด๋„ˆ์นด๋“œ ๋’ค์ง‘์„ ๋•Œ transform: rotateY() ํšŒ์ „์ถ• card-front์นด๋“œ..
1. ์ œ๋„ค๋ฆญ์Šค(Generics) ์ œ๋„ค๋ฆญ์Šค๋ž€?์ œ๋„ค๋ฆญ์Šค(generics)๋Š” ์ž๋ฐ” J2SE 5.0 ๋ฒ„์ „ ์ดํ›„์— ๋„์ž…๋œ ๊ฐœ๋…์œผ๋กœ, ์ž๋ฃŒํ˜•์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋ฃŒํ˜•์„ ๊ฐ•์ œ๋กœ ๋ฐ”๊ฟ€ ๋•Œ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์บ์ŠคํŒ…(Casting) ์˜ค๋ฅ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ArrayList๋Š” ์ž๋ฐ”์˜ **์ œ๋„ค๋ฆญ์Šค(Generics)**๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค์ด๋‹ค. ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ArrayList์— ์ €์žฅํ•  ์š”์†Œ์˜ ํƒ€์ž…์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ๋•๋ถ„์— ํ˜• ๋ณ€ํ™˜ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. (ํƒ€์ž… ์•ˆ์ •์„ฑ ๋ณด์žฅ) ArrayList๋Š” ArrayList ํ˜•ํƒœ๋กœ ์ •์˜ํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ E๋Š” ์ €์žฅํ•  ์š”์†Œ์˜ ํƒ€์ž…์„ ๋‚˜ํƒ€๋‚ด๋Š” ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋‹ค. ArrayList,ArrayList์ฒ˜๋Ÿผ ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ •..
์ƒ๋‹จ์œผ๋กœ