Banner

My Tech Blog (Algorithm/JAVAํ…Œ์ŠคํŠธ)

๐Ÿ“‘ 1. ๋ฌธ์ž์—ด ์„ž๊ธฐ ๐Ÿ’ก 1-1. ์ ‘๊ทผ๋ฐฉ์‹โ–  ๋‹จ์ˆœํžˆ ์ฃผ์–ด์ง„ ๋ณ€์ˆ˜๋ช… ๊ทธ๋Œ€๋กœ a + b > b + a ์ด๋ ‡๊ฒŒ ๋น„๊ตํ•˜๋ฉด ๋‘ ์ˆซ์ž๋Š” ์ •์ˆ˜ ๋ง์…ˆ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ a + b == b + a๊ฐ€ ๋œ๋‹ค. ๋ฌธ์ œ์—์„œ ์˜๋„ํ•œ ๊ฒƒ์€ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์—ฐ๊ฒฐํ•œ ํ›„, ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋น„๊ตํ•˜๋ ค๋ฉด String.valueOf(a) + b์™€ String.valueOf(b) + a ๋ฅผ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค.  โ–   ๋˜ ๋‚˜๋Š” ์ฒ˜์Œ์— sb.toString()์„ ์จ์„œ int๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋Š”๋ฐ,  sb.toString()์€ ๋ฌธ์ž์—ด์ด๊ธฐ ๋•Œ๋ฌธ์—, int ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•˜๋Š” solution ๋ฉ”์„œ๋“œ์™€ ํƒ€์ž…์ด ๋งž์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ Integer.parseInt(sb.toString())์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.  ํ‹€๋ฆฐ ์ฝ”๋“œclas..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ๐Ÿ’ก 2. ์ •๋‹ต์ฝ”๋“œ๐Ÿ™…๐Ÿป‍โ™€๏ธ ์ฒซ ๋ฒˆ์งธ ์‹œ๋„ - ํ‹€๋ฆผ โŒํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ˜์†”์ด ์ž๋™์™„์„ฑ์ด ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๊ฐ๋‚˜๋Š”๋ฐ๋กœ ์จ์„œ ๋งŽ์ด ํ‹€๋ ธ๋‹ค.class Solution {    public String solution(String str1, String str2) {        StringBuilder sb = new StringBuilder();        for(int i = 0; i   ์˜ค๋‹ต ์ •๋ฆฌโญ str1.length → str1.length() length๋Š” ๋ฐฐ์—ด์—์„œ ์‚ฌ์šฉ๋˜๊ณ , ๋ฌธ์ž์—ด์—์„œ๋Š” length() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. โญ  sb.add(...) → sb.append(...)StringBuilder๋Š” add() ๋ฉ”์„œ๋“œ๊ฐ€ ์—†๊ณ , ๋Œ€์‹  append()๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.โญ  st..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…โญ 2. ์ •๋‹ต์ฝ”๋“œclass Solution { public String solution(String my_string, String overwrite_string, int s) { // ์•ž๋ถ€๋ถ„๊ณผ ๋’ท๋ถ€๋ถ„์„ ์ถ”์ถœํ•œ ํ›„ overwrite_string์„ ์ค‘๊ฐ„์— ์‚ฝ์ž… String before = my_string.substring(0, s); String after = my_string.substring(s + overwrite_string.length()); return before + overwrite_string + after; }} โญ String before = my_string.substring(0, s); ์—์„œ substr..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…  ๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ด ๋ฌธ์ œ๋Š” ์ €๋ฒˆ์— ํ’€์—ˆ๋˜ ๋‹จ์†์นด๋ฉ”๋ผ ๋ฌธ์ œ์™€ ๋น„์Šทํ•˜๋‹ค.  [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (Java) ๋‹จ์†์นด๋ฉ”๋ผ (๊ทธ๋ฆฌ๋””/Greedy)๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ž…์ถœ๋ ฅ ์˜ˆ๋กœ ์ฃผ์–ด์ง„ route ๋ฐฐ์—ด์„ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ ค ๋ดค๋‹ค. ์ตœ์†Œํ•œ์˜ ์นด๋ฉ”๋ผ๋ฅผ ๋ฐฐ์น˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ตฌ๊ฐ„ ์ข…๋ฃŒ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ์ฐจ๋Ÿ‰์ด ๊ตฌ๊ฐ„์—์„œ ์นด๋ฉ”๋ผawesomepossum.tistory.com ์˜ˆ์‹œ ๊ทธ๋ž˜ํ”„๋Š” ๊ฐ ๋ฏธ์‚ฌ์ผ์„ ๋์  e ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์‹œํ‚จ ๋ชจ์–‘์ด๋‹ค.๊ทธ๋ž˜ํ”„์—์„œ (3,7)์™€ (4,8)์€ ์ˆœ์„œ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋Š”๋ฐ ์˜ค๋ฅ˜๋กœ ์ถ”์ •๋œ๋‹ค.๋‹จ์†์นด๋ฉ”๋ผ ๋ฌธ์ œ์™€ ์š”๊ฒฉ์‹œ์Šคํ…œ ๋ฌธ์ œ์˜ ์ฐจ์ด๋Š” ๋์  ํฌํ•จ ์—ฌ๋ถ€์ด๊ณ  ๋‘˜ ๋‹ค ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ ํ’€์ด ๋ฐฉ๋ฒ•๋ฐฐ์—ด์„ ๋์  ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๊ฐ..
๐Ÿ“‘ 1. ๋Œ€์†Œ๋ฌธ์ž ๋ฐ”๊ฟ”์„œ ์ถœ๋ ฅํ•˜๊ธฐimport java.util.Scanner;public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); System.out.println(swapCase(a)); } public static String swapCase(String str) { StringBuilder result = new StringBuilder(); for(char c:str.toCharArray()) { if(Character.isUpperCase(c) ) { resu..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๋งค๊ฐœ๋ณ€์ˆ˜- ์ˆ˜์—ด์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด `sequence`- ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ `k` ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค์™€ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ฅผ ๋ฐฐ์—ด๋กœ returnํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ œ ํˆฌํฌ์ธํ„ฐ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ‘ผ๋‹ค.- start: ์œˆ๋„์šฐ์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค- end: ์œˆ๋„์šฐ์˜ ๋ ์ธ๋ฑ์Šค (or ๋‹ค์Œ ํƒ์ƒ‰ํ•  ์œ„์น˜) `ํˆฌํฌ์ธํ„ฐ`ํ•˜๋‚˜์˜ ํฌ์ธํ„ฐ๋Š” ๋ฐฐ์—ด์˜ ์‹œ์ž‘์„, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋ฐฐ์—ด์˜ ๋์„ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ์‹œ์ž‘ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ตฌ๊ฐ„์„ ์ฐพ๋Š”๊ฒƒ์ด๋‹ค.  `์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜`๋ถ€๋ถ„ ๋ฐฐ์—ด, ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋ฌธ์ œ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ตฌ๊ฐ„์„ ์ฐพ๊ฑฐ๋‚˜, ๊ณ ์ •๋œ ํฌ๊ธฐ ๊ตฌ๊ฐ„์˜ ํ•ฉ๊ณ„, ์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’ ๋“ฑ์„ ๊ตฌํ•  ๋•Œ ์œ ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์˜ˆ์ œ #1[1, 7]์œผ๋กœ๋Š” ์†Œ์ˆ˜ [7, 17, 71]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์˜ˆ์ œ #2[0, 1, 1]์œผ๋กœ๋Š” ์†Œ์ˆ˜ [11, 101]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.11๊ณผ 011์€ ๊ฐ™์€ ์ˆซ์ž๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹(1) ์†Œ์ˆ˜ ํŒ๋ณ„ํ•˜๋Š” ๋ฉ”์„œ๋“œ isPrime ๋งŒ๋“ค๊ธฐpublic static boolean isPrime(int num) {        if (num   Math.sqrt()์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋กœ ์ œ๊ณฑ๊ทผ ๋งŒ๋“œ๋Š” ๋ฉ”์„œ๋“œ Square root๋ฅผ ์ค„์—ฌ์„œ sqrt์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ์‹ : ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด (2) ์ˆœ์—ด ์ƒ์„ฑํ•˜๋Š” ๋ฉ”์„œ๋“œ generatePeremutations ๋งŒ๋“ค๊ธฐ// ์ˆœ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ์žฌ๊ท€ ๋ฉ”์„œ๋“œpublic void generatePermutations(String p..
1. ์‹œ๊ฐ„๋ณต์žก๋„๋ž€?์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋“ค์€ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ ์ค‘ '๊ฐ€์žฅ ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜'์ด ์žˆ๋‹ค. ์ด๊ฒƒ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‹คํ–‰๋˜๋Š” ์ œํ•œ ์‹œ๊ฐ„๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ๋กœ, ์ž…๋ ฅ ํฌ๊ธฐ์— ๋Œ€ํ•œ ์—ฐ์‚ฐ ํšŸ์ˆ˜์˜ ์ƒํ•œ์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. *์ž…๋ ฅํฌ๊ธฐ = ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ ์–‘ 2. ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์ตœ์•…์˜ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•์„ '๋น…์˜คํ‘œ๊ธฐ๋ฒ•'์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋น…์˜คํ‘œ๊ธฐ๋ฒ•์„ ์ดํ•ดํ•ด์•ผ๋งŒ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ์ตœ์ ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ f(x)๋ผ๊ณ  ํ•  ๋•Œ ํ•จ์ˆ˜์˜ ์ตœ๊ณ ์ฐจํ•ญ์„ ๋‚จ๊ธฐ๊ณ  ๊ณ„์ˆ˜๋ฅผ ์ง€์›Œ์„œ O( ) ํ˜•์‹์œผ๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๊ฒƒ์ด ๋น…์˜คํ‘œ๊ธฐ๋ฒ•์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ f(x) =..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'Algorithm/JAVAํ…Œ์ŠคํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)
์ƒ๋‹จ์œผ๋กœ