Banner

My Tech Blog (Java)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ๋งค์ผ์„ ์ธ์ƒ์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์ฒ˜๋Ÿผ ์‚ฐ๋‹ค๋ฉด ์–ธ์  ๊ฐ€๋Š” ์˜์ธ์ด ๋˜์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค. "
- ์Šคํ‹ฐ๋ธŒ ์žก์Šค (์• ํ”Œ ์ฐฝ์—…์ž)
์ž๋ฐ”๊ฐ€ ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ (JVM) ์œ„์—์„œ ์‹คํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์€ ์ตํžˆ ์•Œ๋ ค์ง„ ์‚ฌ์‹ค์ด๋‹ค. ์ดํด๋ฆฝ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ๋Š” ์ดํด๋ฆฝ์Šค ๋ฒ„์ „์— ํ˜ธํ™˜๋˜๋Š” JDK๋„ ํ•จ๊ป˜ ์„ค์น˜ํ•œ๋‹ค.๋˜ํ•œ, ์ดํด๋ฆฝ์Šค ์„ค์ •์—์„œ [Installed JREs]์—์„œ JRE๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ, ๊ธฐ์กด์— ๋‘๋ฃจ๋ญ‰์ˆ ํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ๋˜ JDK์™€ JRE์˜ ์ฐจ์ด๊ฐ€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.  1. JDK vs JRE vs JVM ์ฐจ์ด์ง„์งœ ๊ฐ„๋‹จํžˆ ์š”์•ฝํ•˜๋ฉด  ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ โ†’ JDK ํ•„์š” (์ปดํŒŒ์ผ๋Ÿฌ ํฌํ•จ)๊ทธ๋ƒฅ ์‹คํ–‰๋งŒ ํ•  ๋•Œ โ†’ JRE๋งŒ ์žˆ์–ด๋„ ๋จ์‹ค์ œ ์‹คํ–‰ ๋‹ด๋‹น โ†’ JVM ์œ„์—์„œ ๋Œ์•„๊ฐ...  JRE๋Š” ์‹คํ–‰์šฉ, JDK๋Š” ๊ฐœ๋ฐœ์šฉ์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์‰ฝ๋‹ค. โ–  JDK (Java Development Kit)`.java` ํŒŒ์ผ์„ `.class(๋ฐ”์ดํŠธ์ฝ”๋“œ)`๋กœ ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ๐Ÿ’ก 2. ํ’€์ด๊ณผ์ •์ฒ˜์Œ์—๋Š” 3,6,9 ๊ฒŒ์ž„์„ ์ž˜๋ชป ์ดํ•ดํ–ˆ๋‹ค.3์˜ ๋ฐฐ์ˆ˜์ผ ๋•Œ ๋ฐ•์ˆ˜ ์น˜๋Š” ๊ฑธ๋กœ ์ดํ•ดํ•ด์„œ ํ•ด๋‹น ์ˆซ์ž๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ผ ๋•Œ cnt ++์„ ํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋ฆฌ์ง€๋„ 369๊ฒŒ์ž„์€ ์ˆซ์ž 3, 6, 9๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ๋ฐ•์ˆ˜๋ฅผ ์น˜๋Š” ๊ฒŒ์ž„์ด๋‹ค. ์ฆ‰, ์ˆซ์ž ํ•˜๋‚˜ ํ•˜๋‚˜๊ฐ€ 3 ๋˜๋Š” 6 ๋˜๋Š” 9 ๊ฐ’์„ ๊ฐ€์ง€๋ฉด ํšŸ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜๊ณ  ๋งˆ์ง€๋ง‰์— ์ด ํšŸ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์„œ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•ด๋„ ๋˜์ง€๋งŒ์ด ๋ฌธ์ œ์—์„œ ์–ด์ฐจํ”ผ ์ˆซ์ž์˜ ์ˆœ์„œ๋Š” ์ƒ๊ด€ ์—†๊ณ ์ฃผ์–ด์ง„ order ์•ˆ์—์„œ 3, 6, 9๊ฐ€ ์ด ๋ช‡๊ฐœ์ธ์ง€ ๊ฐฏ์ˆ˜๋ฉด ์„ธ๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์—์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 3,6,9์— ํ•ด๋‹นํ•˜๋Š”์ง€๋งŒ ํ™•์ธํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค. 1. ์ฃผ์–ด์ง„ ์ˆซ์ž(order)๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ํ’€์ด๊ณผ์ • n๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด n์—์„œ ํ•ด๋‹น ์š”์†Œ๋ฅผ ๋บ€ ๊ฐ’์ด ์ œ์ผ ์ž‘์•„์•ผ ํ•œ๋‹ค๊ณ ์ƒ๊ฐํ–ˆ๋‹ค.์ฆ‰ `n - array[i]` ์˜ ์ ˆ๋Œ€๊ฐ’์ด 0์ด๊ฑฐ๋‚˜ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ์„ ๊ตฌํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” n - array[i] ์ด ํ˜„์žฌ min ์— ์ €์žฅ๋œ ์ตœ์†Œ๊ฐ’๋ณด๋‹ค ์ž‘์œผ๋ฉด์ตœ์†Œ๊ฐ’์„ min์—, ํ•ด๋‹น ์š”์†Œ์˜ ๋ฐฐ์—ด index๋ฅผ answer ๋ณ€์ˆ˜์— ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค.ํ•˜์ง€๋งŒ ์ฝ”๋“œ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ๋Œ์•„๊ฐ€์ง€ ์•Š์•˜๋‹ค.import java.util.Arrays;class Solution { public int solution(int[] array, int n) { int min = Math.abs(n - array[0]); int answer =..
๐Ÿ“‘ 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. ํ’€์ด๊ณผ์ •์ฒ˜์Œ์— ์ ‘๊ทผํ•œ ๋ฐฉ์‹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..
๐Ÿ“‘ 1. ์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ ๐Ÿ’ก ํ’€์ด๊ณผ์ •๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค์— ๊ฐ€์žฅ ๋ ๊ฐ’ 2๊ฐœ๋ฅผ ๊ณฑํ•œ ๊ฐ’, ์‹œ์ž‘๊ฐ’ 2๊ฐœ๋ฅผ ๊ณฑํ•œ ๊ฐ’ ์ค‘ ๋” ํฐ ๊ฐ’์„ ๋ฐ˜ํ™˜์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ๋Š” ์š”์†Œ๊ฐ€ ์–‘์ˆ˜์ผ ์ˆ˜๋„ ์žˆ๊ณ  ์Œ์ˆ˜์ผ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.  ๐Ÿ‘จโ€๐Ÿ’ป ์ •๋‹ต์ฝ”๋“œimport java.util.*;class Solution { public int solution(int[] numbers) { Arrays.sort(numbers); int n = numbers.length; // ๊ฐ€์žฅ ํฐ ๋‘ ์ˆ˜์˜ ๊ณฑ vs ๊ฐ€์žฅ ์ž‘์€ ๋‘ ์ˆ˜์˜ ๊ณฑ ์ค‘ ์ตœ๋Œ“๊ฐ’ ๋ฐ˜ํ™˜ // ์Œ์ˆ˜์ผ ๊ฐ€๋Šฅ์„ฑ ๋•Œ๋ฌธ์ž„ return Math.max(numbers[n - 1] * numbers[n - 2..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ๐Ÿ’ก 2. ํ’€์ด๊ณผ์ • j = 1๋ถ€ํ„ฐ j = i๊นŒ์ง€ j๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ i % j == 0์ด๋ฉด cnt++ ์ฆ๊ฐ€์ฆ‰, i๋ฅผ 1๋ถ€ํ„ฐ i๊นŒ์ง€ ๋‚˜๋ˆ„๋ฉด์„œ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋Š” ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๋ฐฉ์‹cnt >= 3์ด๋ฉด answer++; answer ๋ฐ˜ํ™˜ ๐Ÿ‘จโ€๐Ÿ’ป 3. ์ •๋‹ต์ฝ”๋“œclass Solution { public int solution(int n) { int answer = 0; for(int i = 4; i = 3) { answer++; } } return answer; }}
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๊ณ„์†๋˜๋Š” ํญ์šฐ๋กœ ์ผ๋ถ€ ์ง€์—ญ์ด ๋ฌผ์— ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š์€ ์ง€์—ญ์„ ํ†ตํ•ด ํ•™๊ต๋ฅผ ๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ง‘์—์„œ ํ•™๊ต๊นŒ์ง€ ๊ฐ€๋Š” ๊ธธ์€ m x n ํฌ๊ธฐ์˜ ๊ฒฉ์ž๋ชจ์–‘์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ m = 4, n = 3 ์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.  ๊ฐ€์žฅ ์™ผ์ชฝ ์œ„, ์ฆ‰ ์ง‘์ด ์žˆ๋Š” ๊ณณ์˜ ์ขŒํ‘œ๋Š” (1, 1)๋กœ ๋‚˜ํƒ€๋‚ด๊ณ  ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜, ์ฆ‰ ํ•™๊ต๊ฐ€ ์žˆ๋Š” ๊ณณ์˜ ์ขŒํ‘œ๋Š” (m, n)์œผ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ฒฉ์ž์˜ ํฌ๊ธฐ m, n๊ณผ ๋ฌผ์ด ์ž ๊ธด ์ง€์—ญ์˜ ์ขŒํ‘œ๋ฅผ ๋‹ด์€ 2์ฐจ์› ๋ฐฐ์—ด puddles์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ๊ณผ ์•„๋ž˜์ชฝ์œผ๋กœ๋งŒ ์›€์ง์—ฌ ์ง‘์—์„œ ํ•™๊ต๊นŒ์ง€ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ์˜ ๊ฐœ์ˆ˜๋ฅผ 1,000,000,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ๊ฒฉ์ž์˜ ํฌ๊ธฐ m, n์€ 1 ์ด์ƒ ..
์ƒ๋‹จ์œผ๋กœ