๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ–‹๏ธ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜26

[๋ฆฌ์ŠคํŠธ] ๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ์™€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์ƒํ™œ ์† ๋ฆฌ์ŠคํŠธ ์˜ˆ์‹œ ์œ„์‹œ ๋ฆฌ์ŠคํŠธ, ๋ธ”๋ž™ ๋ฆฌ์ŠคํŠธ, ์„œ๋น„์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‚ฌ๋žŒ ๋ฆฌ์ŠคํŠธ ๋ฆฌ์ŠคํŠธ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ADT(์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…) ๋ฆฌ์ŠคํŠธ์˜ ๊ธฐ๋ณธ ์ •์˜ ์ค„ ์„ธ์›Œ์ ธ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ADT i๋ฒˆ์งธ ์ž๋ฆฌ์— ์›์†Œ x๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. i๋ฒˆ์งธ ์›์†Œ๋ฅผ ์‚ญ์ œํ•œ๋‹ค. ์›์†Œ x๋ฅผ ์‚ญ์ œํ•œ๋‹ค. i๋ฒˆ์งธ ์›์†Œ๋ฅผ ์•Œ๋ ค์ค€๋‹ค. ์›์†Œ x๊ฐ€ ๋ช‡ ๋ฒˆ์งธ ์›์†Œ์ธ์ง€ ์•Œ๋ ค์ค€๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ์‚ฌ์ด์ฆˆ(์›์†Œ์˜ ์ด ์ˆ˜)๋ฅผ ์•Œ๋ ค์ค€๋‹ค. ํŒŒ์ด์ฝ๋Šฅ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์ œ๊ณตํ•˜๋ฉฐ, ์œ„ ์ž‘์—…๋ณด๋‹ค ํ›จ์”ฉ ๋” ๋งŽ์€ ์ž‘์—…์„ ์ง€์›ํ•จ ์ž๋ฐ”๋Š” ์–ธ์–ด ์ž์ฒด์—์„œ ๋ฆฌ์ŠคํŠธ๋ฅผ java.util ํŒจํ‚ค์ง€์—์„œ ์ œ๊ณตํ•จ ๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ ArrayList 1. ๊ตฌ์„ฑ์š”์†Œ ๋‚ด๋ถ€๋ฐฐ์—ด : ArrayList๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด(Object[])์„ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ. ์ด ๋ฐฐ์—ด์€ ํ•„์š”์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์กฐ์ •๋จ. ์šฉ๋Ÿ‰ : .. 2023. 11. 21.
[๋ฉ”์„œ๋“œ] ArrayList ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ 2023.11.14 - [๐Ÿ–ฅ๏ธ ๋ฐฑ์—”๋“œ/Java] - [ch.11] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ์š” ๋ฐ List void trimToSize(): ArrayList์˜ ์šฉ๋Ÿ‰์„ ํ˜„์žฌ ๋ฆฌ์ŠคํŠธ ํฌ๊ธฐ์— ๋งž๊ฒŒ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ค„์ด๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. void ensureCapacity(int minCapacity): ArrayList์˜ ์ตœ์†Œ ์šฉ๋Ÿ‰์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”์‹œ ๋‚ด๋ถ€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ํ™•์žฅํ•˜์—ฌ ์ง€์ •๋œ ์šฉ๋Ÿ‰์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. Object[] grow(int minCapacity): ๋ฆฌ์ŠคํŠธ์˜ ์šฉ๋Ÿ‰์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ƒˆ๋กœ์šด ์šฉ๋Ÿ‰์œผ๋กœ ๋ฐฐ์—ด์„ ํ™•์žฅํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. int newCapacity(int minCapacity): ์ƒˆ๋กœ์šด ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ๋„ ์ฃผ๋กœ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ.. 2023. 11. 21.
[์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ch.1] ๋ฌธ์ž์—ด(3) ๋ฌธ์ž์—ด ์••์ถ• ๊ฐ™์€ ๋ฌธ์ž ๋ฐ˜๋ณต ์ฐพ๊ธฐ ๊ฐ™์€ ๋ฌธ์ž๊ฐ€ ์—ฐ์†์œผ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž ๋ฐ”๋กœ ์˜ค๋ฅธ์ชฝ์— ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ž์—ด ์••์ถ•ํ•˜๊ธฐ ๋ฐ˜๋ณตํšŸ์ˆ˜ 1์€ ์ ์šฉํ•˜์ง€ ์•Š์Œ ์˜ˆ์‹œ KKHSSSSSSSE i์™€ i+1์„ ๋น„๊ต. ๊ฐ™์œผ๋ฉด cnt์ฆ๊ฐ€, ๋‹ค๋ฅด ์ง€์ ์„ ๋งŒ๋‚˜๋ฉด String answer์— ํ•ด๋‹น ๋ฌธ์ž, cnt๋ฅผ ๋ˆ„์ ํ•˜๋ฉด ๋จ. cnt๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™” ํ•˜๊ณ  ๋‹ค์‹œ ๋น„๊ตํ•˜๋ฉฐ ์ง€๋‚˜๊ฐ€๊ธฐ ๋ฐฐ์—ด ๋งฝ ๋๋ฌธ์ž๊ฐ€ ์—†์–ด ์˜ˆ์™ธ ์ƒ๊ธธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งจ ๋์— ๋นˆ ๋ฌธ์ž์—ด์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผํ•จ. String answer = ""; str = str + " "; int cnt = 1; for( int i=0; i1) answer += String.valueOf(cnt); //๋ฌธ์ž ๋ฐ˜๋ณต ํšŸ์ˆ˜ ์ถ”๊ฐ€ cnt=1; //cnt์ดˆ๊ธฐํ™” } } return a.. 2023. 11. 12.
[์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ch.1] ๋ฌธ์ž์—ด(2) ํšŒ๋ฌธ ๋ฌธ์ž์—ด, ํŒฐ๋ฆฐ๋“œ๋กฌ GOOG, POOP ๊ณผ ๊ฐ™์ด ๊ฑฐ์šธ์ฒ˜๋Ÿผ ์ƒ๊ธด ๋ฌธ์ž ์•ž์—์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ lt์™€ rt๊ฐ€ ๋ฌธ์ž์—ด ๊ธธ์ด์˜ 1/2๋งŒํผ ๋ฐ˜๋ณตํ•  ๋•Œ๊นŒ์ง€ ๊ฐ™์•„์•ผ ํ•จ ๋ฐ˜๋ณต๋ฌธ์€ for(int i=0; i< len/2 ; i++) lt = i; rt = len -i -1; str = str.toUpperCase(); // ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์•ˆํ•˜๊ธฐ๋กœ ํ–ˆ์„ ๋•Œ int len = str.length(); for(int i=0; i< len/2 ; i++){ if(str.charAt(i) != str.charAt(len -i -1) ) return "NO"; } StringBuilder์„ ์ด์šฉํ•˜๊ธฐ .equalsIgnoreCase() String tmp = new StringBuilder(str).reverse().toString.. 2023. 11. 12.
[์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ch.1] ๋ฌธ์ž์—ด ๋Œ€์†Œ๋ฌธ์ž Strign์„ ๋Œ€๋ฌธ์ž/์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ str.toUpperCase() str.toLowerCase() char๋ฅผ ๋Œ€๋ฌธ์ž/์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ Character.toUpperCase(c); Character.toLowerCase(c); String์—์„œ ๋Œ€->์†Œ , ์†Œ->๋Œ€ ๋ณ€ํ™˜ String์„ char๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  char[] = str.toCharArray() ํ–ฅ์ƒ๋œ for๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋Œ€์†Œ๋ฌธ์ž boolean ๊ฒฐ๊ณผ์— ๋งž์ถฐ์„œ if(Char) ์ ์ ˆํžˆ ๋ณ€ํ™˜ Character.toUpperCase(x) / Character.toLowerCase(x) ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด์€ String answer์— +=๋กœ ๋ˆ„์  ์•„์Šคํ‚ค ๋„˜๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Œ A=65, Z=90 a=97, z=122 ๋‘˜์˜ ์ฐจ์ด๋Š” 32 ์†Œ๋ฌธ์ž๋ฉด ans.. 2023. 11. 12.