Banner

My Tech Blog (๋ฐฐ์—ด)

์˜ค๋Š˜์˜ ๋ช…์–ธ
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…์ž…์ถœ๋ ฅ ์˜ˆ #1["We", "are", "the", "world!"]์˜ ๊ฐ ์›์†Œ์˜ ๊ธธ์ด์ธ [2, 3, 3, 6]์„ returnํ•ฉ๋‹ˆ๋‹ค.์ž…์ถœ๋ ฅ ์˜ˆ #2["I", "Love", "Programmers."]์˜ ๊ฐ ์›์†Œ์˜ ๊ธธ์ด์ธ [1, 4, 12]์„ returnํ•ฉ๋‹ˆ๋‹ค.๐Ÿ’ก 2. ํ’€์ด๊ณผ์ •โœ”๏ธ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ strlist์˜ ๊ธธ์ด๋งŒํผ ๊ฒฐ๊ณผ๊ฐ’์„ ๋‹ด์„ ๋ฐฐ์—ด(lengths)์„ ํ•˜๋‚˜ ์„ ์–ธ ํ•ด ์ค€๋‹ค.๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค๊ฐ€๋ฉฐstrlist๊ฐ ์š”์†Œ(๋ฌธ์ž์—ด)์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์„œ ๋ฐฐ์—ด(lengths)์— ๋‹ด์•„ ๋ฆฌํ„ดํ•œ๋‹ค. โœ”๏ธ length()์™€ length์˜ ์ฐจ์ด๋งŒ ์•Œ๋ฉด ์‰ฌ์šด ๋ฌธ์ œ`length` ๋Š”๋ฐฐ์—ด์—์„œ ์‚ฌ์šฉ ๋˜๊ณ , `legnth();`๋Š” ๋ฌธ์ž์—ด์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. 2-1. lengthlength๋Š” ๋ฐฐ์—ด..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ๐Ÿ’ก 2. ํ’€์ด๊ณผ์ •๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆ„์–ด์„œ ํ•ด๊ฒฐํ•˜๊ธฐdirection ์ด right์ธ ๊ฒฝ์šฐ์™€ left์ธ ๊ฒฝ์šฐ๋กœ ๊ตฌ๋ถ„ํ–ˆ๋‹ค."right" ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „: ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ๋งจ ์•ž์— ๋„ฃ๊ธฐ + ๋‚˜๋จธ์ง€ ์š”์†Œ๋“ค์€ ํ•œ ์นธ์”ฉ ๋’ค๋กœ ์ด๋™"left" ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „: ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋งจ ๋’ค๋กœ ๋ณด๋‚ด๊ธฐ + ๋‚˜๋จธ์ง€ ์š”์†Œ๋“ค์€ ํ•œ ์นธ์”ฉ ์•ž์ชฝ์œผ๋กœ ์ด๋™๐Ÿ‘จโ€๐Ÿ’ป 3. ์ •๋‹ต์ฝ”๋“œ๋‚ด๊ฐ€ ํ‘ผ ์ฝ”๋“œimport java.util.*;class Solution { public int[] solution(int[] numbers, String direction) { int[] answer = new int[numbers.length]; if (direction.equals("right")) {..
๊ธฐ๋ณธ์ด ์ œ์ผ ์–ด๋ ต๋‹ค.์ˆ˜ํ•™ ๊ธฐ๋ณธ๊ธฐ์™€ ๋ฌธ์ž์—ด ๊ธฐ๋ณธ๊ธฐ๊ฐ€ ์ œ์ผ ์–ด๋ ต๋‹ค. ๐Ÿฉ 1. ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ  โŒ๐Ÿ™…๐Ÿปโ€โ™€๏ธ ์ฒซ๋ฒˆ์งธ ์‹œ๋„ - ํ‹€๋ฆฐ ์ฝ”๋“œimport java.util.*;class Solution { public double solution(int[] numbers) { int total = 0; double answer = 0; for (int i = 0; i ํ‹€๋ฆฐ ์ด์œ ๋Š” total์„ int ํ˜•์œผ๋กœ ์„ ์–ธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. total์ด int, numbers.length๋„ int์ด๋ฏ€๋กœ total / numbers.length๋Š” ์ •์ˆ˜ ๋‚˜๋ˆ—์…ˆ์ด ๋˜์–ด ์†Œ์ˆ˜์  ์ดํ•˜๊ฐ€ ๋ฒ„๋ ค์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. total์„ double๋กœ ๋ฐ”๊ฟ”์ฃผ๋‹ˆ๊นŒ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.  ์ฐธ๊ณ int / double ๋˜๋Š”..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ด ๋ฌธ์ œ๋Š” ํ•ด์‹œ๋งต์„ ์‚ฌ์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค.๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฐ ์ˆซ์ž์˜ ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์นด์šดํŠธํ•ด์„œ ํ•ด์‹œ๋งต์— ์ €์žฅํ•œ๋‹ค.  (key: ๋“ฑ์žฅํ•œ ์ˆซ์ž, value: ์นด์šดํŠธ)ํ•ด์‹œ๋งต์„ ์ˆœํšŒํ•˜๋ฉด์„œ ์ตœ๋นˆ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. โ†’ maxCount๋ณด๋‹ค ๋” ํฐ count(value ๊ฐ’)์ด ์กด์žฌํ•˜๋ฉด maxCount๋ฅผ count๋กœ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.์ด ๊ณผ์ •์—์„œ ๋“ฑ์žฅ ํšŸ์ˆ˜๊ฐ€ ๋™์ผํ•œ ๊ฐ’์ด ์žˆ๋Š”์ง€๋„ ํƒ์ƒ‰ํ•œ๋‹ค. ๋งŒ์•ฝ ์ค‘๋ณต๋œ ์ตœ๋นˆ๊ฐ’์ด ์žˆ์œผ๋ฉด isDuplicate๋ฅผ true๋กœ ๋ฐ”๊พผ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์จ์„œ ์ค‘๋ณต์ด ์žˆ์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ตœ๋นˆ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.โญ 3. ์ •๋‹ต์ฝ”๋“œimport java.util.HashMap;import java.util.Map;class Solution { public int ..
์ •๋ ฌ(Sort)๊ฐœ์š”๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ๋˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์—ดํ•˜๊ฑฐ๋‚˜ ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.  ์ •๋ ฌ์„ ํ™œ์šฉํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋Š” ๋งค์šฐ ๋‹ค์–‘ํ•˜๋‹ค. ์ •๋ ฌ ๋ฌธ์ œ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ๋Š” ์ •๋ ฌ ๊ธฐ์ค€์„ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ณ , ๊ทธ์— ๋งž๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ด์ง„ ํƒ์ƒ‰, ํˆฌ ํฌ์ธํ„ฐ, ๋นˆ๋„์ˆ˜ ๊ณ„์‚ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์กฐํ•ฉํ•ด ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋“ค์ด ๋งŽ๋‹ค.  ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ Arrays.sort() ๋ฅผ ์ด์šฉํ•ด์„œ ์ •๋ ฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋„ ์žˆ๊ณ , ์ •๋ ฌ ๊ธฐ์ค€์„ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด์— ๋งž๊ฒŒ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, Comparator ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฐ์ฒด๋ฅผ Collections.sort() ๋˜๋Š” Arrays.sort()์— ์ „๋‹ฌํ•˜์—ฌ ์ •๋ ฌํ•˜๋ฉด ๋˜๊ณ , ์ด ๋•Œ Java 8 ์ด์ƒ์—์„œ๋Š” Comparator๋ฅผ ๋žŒ๋‹ค ํ‘œํ˜„์‹์œผ๋กœ ..
ํƒ์ƒ‰์„ ํƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ์„ ํƒ์ž๋กœ ์„ ํƒํ•œ ์š”์†Œ ์ค‘ ์›ํ•˜๋Š” ์š”์†Œ๋ฅผ ํ•œ ๋ฒˆ ๋” ํƒ์ƒ‰ํ•ด์„œ ์ข€ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ ํƒํ•˜๋Š” `์œ„์น˜ํƒ์ƒ‰ ์„ ํƒ์ž`์™€ ๋ฐฐ์—ด์— ๋‹ด๊ฒจ์ง„ ์š”์†Œ ์ค‘ ์ง€์ •๋œ ์†์„ฑ๊ณผ ๊ฐ’์œผ๋กœ ์„ ํƒํ•˜๋Š” `์†์„ฑ ํƒ์ƒ‰ ์„ ํƒ์ž`๊ฐ€ ์žˆ๋‹ค.  1. ์œ„์น˜ ํƒ์ƒ‰ ์„ ํƒ์ž โ–ผ๊ธฐ๋ณธ ์„ ํƒ์ž๋กœ ์„ ํƒํ•œ ์š”์†Œ๋Š” ๋ฐฐ์—ด์— ๋‹ด๊ธฐ๊ฒŒ ๋œ๋‹ค.๊ทธ๋ž˜์„œ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ์š”์†Œ๋ฅผ ์ข€ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ข…๋ฅ˜์šฉ๋ฒ•์„ค๋ช…$("์š”์†Œ ์„ ํƒ:first")$("์š”์†Œ ์„ ํƒ").first()$("li:first")$("li").first()์ „์ฒด ์š”์†Œ ์ค‘ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋งŒ ์„ ํƒ$("์š”์†Œ ์„ ํƒ:last")$("์š”์†Œ ์„ ํƒ").last()$("li:last")$("li").last()์ „์ฒด ์š”์†Œ ..
๐Ÿ‘พ ๋ฌธ์ œ์ ์ฝ”ํ…Œ ๋ฌธ์ œ ํ’€๋‹ค๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ์™€ ๋‚ด ์ฝ”๋“œ์˜ ์ฐจ์ด์  ๋‚ด๊ฐ€ ์“ด ์ฝ”๋“œ (ํ•˜์ˆ˜์˜ ์ฝ”๋“œ)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[..
// JSON ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ JS ์‚ฌ์šฉ๋ฒ•// [1] : ๋ฐ์ดํ„ฐ const person = [ `{"name":"์ด์ˆœ์‹ ","age":20,"nationality":"๋Œ€ํ•œ๋ฏผ๊ตญ"}`, {"name":"๋งฅ์•„๋”","age":30,"nationality":"๋ฏธ๊ตญ"}, {"name":"์—˜๋ฆฌ์ž๋ฒ ์Šค","age":40,"nationality":"์˜๊ตญ"}, {"name":"์ž”๋‹ค๋ฅดํฌ","age":50,"nationality":"ํ”„๋ž‘์Šค"},]; console.log(typeof person); // objectconsole.log(typeof person[0]); // stringconsole.log(typeof person[1]); // object ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ๋ฉด string ..
์ƒ๋‹จ์œผ๋กœ