๐ 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..
My Tech Blog (Algorithm/JAVAํ ์คํธ)
๐ 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) =..
โค๏ธ ๋ฌธ์ ์ค๋ช
์ฃผ์ด์ง ์ซ์ ์ค 3๊ฐ์ ์๋ฅผ ๋ํ์ ๋ ์์๊ฐ ๋๋ ๊ฒฝ์ฐ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ซ์๋ค์ด ๋ค์ด์๋ ๋ฐฐ์ด nums๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, nums์ ์๋ ์ซ์๋ค ์ค ์๋ก ๋ค๋ฅธ 3๊ฐ๋ฅผ ๊ณจ๋ผ ๋ํ์ ๋ ์์๊ฐ ๋๋ ๊ฒฝ์ฐ์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๐ ์ ํ์ฌํญnums์ ๋ค์ด์๋ ์ซ์์ ๊ฐ์๋ 3๊ฐ ์ด์ 50๊ฐ ์ดํ์
๋๋ค.nums์ ๊ฐ ์์๋ 1 ์ด์ 1,000 ์ดํ์ ์์ฐ์์ด๋ฉฐ, ์ค๋ณต๋ ์ซ์๊ฐ ๋ค์ด์์ง ์์ต๋๋ค. ๐ ์ถ๋ ฅ ์์โ๐ ํ์ด ์ฒซ๋ฒ์งธ ์๋ ๐
๐ปโ๏ธ - ํ๋ฆผclass Solution { public int solution(int[] nums) { int count = 0; for (int i = 0; i ..
โ
๋ฌธ์ & ์ ์ฝ์กฐ๊ฑด โ
์
์ถ๋ ฅ ์ โ
ํ์ด ๊ณผ์ ์ผ๋จ ๋ ๊ฐ์ ๋ฐฐ์ด id_pw, db์ for ๋ฌธ์ ๋๋ ค์ ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์๊ฐ ํด ๋ดค๋ค. id_pw๋ 1์ฐจ์ ๋ฐฐ์ด, db๋ 2์ฐจ์ ๋ฐฐ์ด์ด๋ผ์ id_pw์ 0๋ฒ ์ธ๋ฑ์ค๊ฐ ๋ก๊ทธ์ธ ์๋ํ ์ฌ์ฉ์์ id๊ฐ์ด ๋๊ณ 1๋ฒ ์ธ๋ฑ์ค๊ฐ ํจ์ค์๋์ด๋ค. ๋ฐ๋ฉด db๋ 2์ฐจ์ ๋ฐฐ์ด์ด๊ธฐ ๋๋ฌธ์ [ ] [ ] ํ์์ผ๋ก ์ ๊ทผ์ ํด ์ค์ผ ํ๋ค. [i][0] ์ด ์์ด๋๊ฐ์ด๊ณ [i][1]์ด ํจ์ค์๋ ๊ฐ์ด๋ค. case 1 : id_pw์ ์์ด๋๊ฐ์ด db[i][0]๊ณผ ๊ฐ๊ณ id_pw์ ํจ์ค์๋ ๊ฐ์ด db[i][1] ์ด๋ ๊ฐ์ผ๋ฉด answer์ "login" ๊ฐ ๋ฃ๊ธฐcase2 : id_pw์ ์์ด๋๊ฐ์ด db[i][0]๊ณผ ๊ฐ์ผ๋ id_pw์ ํจ์ค์๋ ๊ฐ์ด db[i][1] ์ด๋ ๊ฐ์ง ์์ผ..