java ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ [ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/12917 ๋ฌธ์ ์ ๊ทผ ๋ฌธ์์ด s๋ฅผ char[] ๋ฐฐ์ด๋ก ๋ฃ์ด์ Arrays.sort๋ฅผ ์ด์ฉํด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๋ฐฐ์ด temp๋ฅผ ์ญ์์ผ๋ก result์ ํ๋์ฉ ๋ํด์ฃผ์๋ค. Code import java.util.*; class Solution { public String solution(String s) { char[] temp = s.toCharArray(); Arrays.sort(temp); StringBuilder result = new StringBuilder(); for(int i= temp.length-1; i>=0; i--){ resul.. ๋๋ณด๊ธฐ [Algorithm/Java][LeetCode] 20. Valid Parentheses [LeetCode] 20. Valid Parentheses https://leetcode.com/problems/valid-parentheses/ ๋ฌธ์ ์ ๊ทผ ๊ดํธ๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ธ์ง ์ ๋ซํ๊ณ ์ด๋ ธ๋์ง๋ฅผ ํ์ธํ๋ ๋ฌธ์ ์ด๋ค. ๋น์ทํ(๋๊ฐ์) ๋ฌธ์ ๋ฅผ ๋ฐฑ์ค์์ ํ์ด๋ด์ Stack์ ์ด์ฉํ๋ฉด ๋๋ค๋ ๊ฒ์ ์๊ณ ์์๋ค. ์ฌ๋ ๊ดํธ์ผ ๋๋ Stack์ push๋ฅผ ํด์ฃผ๊ณ ๋ซํ ๊ดํธ์ผ ๋๋ Stack์ top์ด ๊ฐ์ ์ข ๋ฅ์ ๊ดํธ์ธ์ง ํ์ธํ๊ณ popํ๊ฑฐ๋ ์๋๋ผ๋ฉด false๋ฅผ ๋ฆฌํดํด์ค๋ค. ์ด๋ ์์ธ์ฒ๋ฆฌํ ์ํฉ์ 2๊ฐ์ง์ด๋ค. ์ด๋ฆฐ ๊ดํธ๋ก๋ง ์ด๋ฃจ์ด์ ธ์์๋. ๋ซํ ๊ดํธ๋ก๋ง ์ด๋ฃจ์ด์ ธ์์๋. 1๋ฒ์ฒ๋ผ ์ด๋ฆฐ ๊ดํธ๋ก๋ง ์ด๋ฃจ์ด์ ธ์๋ค๋ฉด for๋ฌธ์ ๋น ์ ธ๋์์ ๋ Stack์ด ๋น์ด์์ง ์์ ๊ฒ์ด๊ณ , 2๋ฒ์ฒ๋ผ ๋ซํ ๊ดํธ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค๋ฉด sw.. ๋๋ณด๊ธฐ [Algorithm/Java][BOJ] 1439๋ฒ ๋ค์ง๊ธฐ [BOJ] 1439๋ฒ ๋ค์ง๊ธฐ https://www.acmicpc.net/problem/1439 ๋ฌธ์ ์ ๊ทผ 0์ด ๊ฐ์ด ์๋ ๊ทธ๋ฃน๊ณผ 1์ด ๊ฐ์ด ์๋ ๊ทธ๋ฃน์ด ๋ช ๊ทธ๋ฃน์ธ์ง ์ธ๋ฉด ๋๋ค๊ณ ์๊ฐํด์ ์ฒ์์๋ 0์์ 1๋ก ๋ฐ๋๋ ๋ถ๋ถ์์ cnt์ +1์ ํด์ค๋ค๊ณ ์๊ฐํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ ๊ทธ๋ฃน์ ๋ค ์ธ๊ธฐ ๋๋ฌธ์ ์ค๋ต์ด ๋์๋ค. ๊ทธ๋์ zeroGroup๊ณผ oneGroup์ ์ด์ฉํด์ ๊ฐ์ ๋ฐ๋ก๋ฐ๋ก ํ๋์ฉ ์ธ์ ๋ ์์ ๊ฐ์ ์ถ๋ ฅํด ์ฃผ์๋ค. ํ์ง๋ง ๋ง์ง๋ง ๋ถ๋ถ์ ์๋ ๊ทธ๋ฃน์ ์ฒ์ ๋ก์ง์ผ๋ก๋ ์นด์ดํธ๊ฐ ์๋์ for๋ฌธ ๋ง์ง๋ง์ผ ๋ ํ์ฌ cur๊ฐ์ group์ +1์ ํด์ฃผ์๋ค. Code import java.util.Scanner; public class Main { public static void main(String[] a.. ๋๋ณด๊ธฐ [Java] ์๋ฐ ์ปฌ๋ ์ Map Map์ด๋? Map์ ํค(key)์ ๊ฐ(value)์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ ์ปฌ๋ ์ ์ด๋ค. ํน์ง์ ์๋์ ๊ฐ๋ค. ๋ชจ๋ ๋ฐ์ดํฐ๋ ํค์ ๊ฐ์ด ์กด์ฌํ๋ค. ํค๊ฐ ์์ด ๊ฐ๋ง ์ ์ฅ๋ ์๋ ์๋ค. ๊ฐ ์์ด ํค๋ง ์ ์ฅํ ์๋ ์๋ค. ํค๋ ํด๋น Map์์ ๊ณ ์ ํด์ผ๋ง ํ๋ค. ๊ฐ์ Map์์ ์ค๋ณต๋์ด๋ ์๊ด ์๋ค. Map ๋ฉ์๋ ๋ฆฌํด ํ์ ๋ฉ์๋ ์ด๋ฆ ๋ฐ ๋งค๊ฐ๋ณ์ ์ค๋ช V put(K key, V value) ์ฒซ ๋ฒ์งธ ๋งค๊ฐ ๋ณ์์ธ ํค๋ฅผ ๊ฐ๋, ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์์ธ ๊ฐ์ ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. V get(Object key) ํค์ ํด๋นํ๋ ๊ฐ์ ๋๊ฒจ์ค๋ค. V remove(Object key) ํค์ ํด๋นํ๋ ๊ฐ์ ๋๊ฒจ์ฃผ๋ฉฐ, ํด๋น ํค์ ๊ฐ์ ์ญ์ ํ๋ค. Set keySet() ํค์ ๋ชฉ๋ก์ Set ํ์ ์ผ๋ก ๋๊ฒจ์ค๋ค. Collectio.. ๋๋ณด๊ธฐ [Java] ์๋ฐ ์ปฌ๋ ์ Set ์ (Set)์ด๋? Set์ ์์์ ์๊ด์์ด, ์ด๋ค ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ํ ์ฉ๋๋ก ๋ง์ด ์ฌ์ฉ๋๋ค. ์ค๋ณต๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ , ์ํ๋ ๊ฐ์ด ํฌํจ๋์ด ์๋์ง๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ฃผ ์ฉ๋์ด๋ค. HashSet: ์์๊ฐ ์ ํ ํ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํด์ ํ ์ด๋ธ์ ์ ์ฅํ๋ค. Set ์ค์ ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข๋ค. TreeSet: ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๊ฐ์ ๋ฐ๋ผ์ ์ ๋ ฌ๋๋ ์ ์ด๋ค. red-black ํธ๋ฆฌ๋ก ๊ฐ์ด ์ ์ฅ๋๋ฉฐ, HashSet๋ณด๋ค ์ฝ๊ฐ ์ฑ๋ฅ์ด ๋๋ฆฌ๋ค. LinkedHashSet: ์ฐ๊ฒฐ๋ ๋ชฉ๋ก ํ์ ์ผ๋ก ๊ตฌํ๋ ํด์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ์ ์ฅ๋ ์์์ ๋ฐ๋ผ์ ๊ฐ์ด ์ ๋ ฌ๋๋ค. ๋์ ์ฑ๋ฅ์ด ์ ์ค์์ ๊ฐ๋ญ ๋๋ฆฌ๋ค. HashSet HashSet ์ฃผ์ ๋ฉ์๋ ๋ฆฌํด ํ์ ๋ฉ์๋ ์ด๋ฆ ๋ฐ ๋งค๊ฐ ๋ณ์ ์ค๋ช boolean add(.. ๋๋ณด๊ธฐ [Java] String ํด๋์ค ์ ๋ฆฌ String ํด๋์ค ์ ๋ฆฌ ์๋ฐ์ ์ ์ ์ฝ์ผ๋ฉด์ ๋์จ String ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ ๋ฆฌํ๋ค. ๋ ๋ง์ ๋ฉ์๋๋ค๊ณผ ์์ธํ ์ค๋ช ์ด ์์ง๋ง ๋ง์ด ์ฌ์ฉํ ๊ฒ ๊ฐ์ ๋ฉ์๋๋ค ์์ฃผ๋ก ์ ๋ฆฌํ๋ค. ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ํ์ธํ๋ ๋ฉ์๋ ๋ฌธ์์ด์ด ๋น์ด ์๋์ง ํ์ธํ๋ ๋ฉ์๋ ๋ฌธ์์ด์ด ๊ฐ์์ง ๋น๊ตํ๋ ๋ฉ์๋ ํน์ ์กฐ๊ฑด์ ๋ง๋ ๋ฌธ์์ด์ด ์๋์ง๋ฅผ ํ์ธํ๋ ๋ฉ์๋ String๋ด์์ ์์น๋ฅผ ์ฐพ์๋ด๋ ๋ฉ์๋ String์์ ์ผ๋ถ๋ฅผ ์ถ์ถํ๋(์๋ผ์ฃผ๋) ๋ฉ์๋ String ๊ณต๋ฐฑ์ ์์ ๋ ๋ฉ์๋ String ๋ด์ฉ์ ๊ต์ฒดํ๋ ๋ฉ์๋ ๋์๋ฌธ์๋ฅผ ๋ฐ๊พธ๋ ๋ฉ์๋ ๊ธฐ๋ณธ ์๋ฃํ์ ๋ฌธ์์ด๋ก ๋ณํํ๋ ๋ฉ์๋ StringBuffer์ StringBuilder ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ํ์ธํ๋ ๋ฉ์๋ ๋ฆฌํด ํ์ ๋ฉ์๋ ์ด๋ฆ ๋ฐ ๋งค๊ฐ ๋ณ์ ์ค๋ช int length() ๋ฌธ.. ๋๋ณด๊ธฐ [Java] ์์์ด๋? ์์ ๋ถ๋ชจ ํด๋์ค์์๋ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ๋ง๋ค์ด ๋๋ ๊ฒ ์ด์ธ์๋ ์์์ ์ํด์ ์๋ฌด๋ฐ ์์ ์ ํ ํ์๋ ์๋ค. ์์ ํด๋์ค๋ ํด๋์ค ์ ์ธ์ extends ๋ค์์ ๋ถ๋ชจ ํด๋์ค ์ด๋ฆ์ ์ ์ด์ค๋ค. ์์ ํด๋์ค์ ์์ฑ์๊ฐ ํธ์ถ๋๋ฉด, ์๋์ผ๋ก ๋ถ๋ชจ ํด๋์ค์ ๋งค๊ฐ ๋ณ์ ์๋ ์์ฑ์๊ฐ ์คํ๋๋ค. ์์ ํด๋์ค์์๋ ๋ถ๋ชจ ํด๋์ค์ ์๋ public, protected๋ก ์ ์ธ๋ ๋ชจ๋ ์ธ์คํด์ค ๋ฐ ํด๋์ค ๋ณ์์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์์์ ํ์์ฑ ์๋ฐ์์๋ ๋ถ๋ชจ ํด๋์ค๊ฐ ๊ฐ๊ณ ์๋ ๋ณ์์ ๋ฉ์๋๋ฅผ ์์๋ฐ์์ผ๋ก์จ, ๊ฐ๋ฐํ ๋ ์ด์ค, ์ผ์ค์ ์ผ์ ์ํด๋ ๋๋ค. ์๋ฅผ๋ค์ด, ์ฌ๋์ด๋ผ๋ ํด๋์ค๋ฅผ ํ๊ต์์ ์ฌ์ฉํ ๋, ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฆ, ์ ํ๋ฒํธ๋ ๊ณตํต์ผ๋ก ์ฌ์ฉํ์ง๋ง ๊ต์์ ํ์์ผ ๋ ๊ฐ์ง ์ ์๋ ์์ฑ๊ณผ ๋ฉ์๋๊ฐ ๋ค๋ฅผ ์ ์๋ค ์ด.. ๋๋ณด๊ธฐ [Java] ๋ณ์์ ์๋ฃํ ๋ณ์์ ์๋ฃํ 1. ๋ณ์์ ์ข ๋ฅ ์๋ฐ์์๋ ๋ค ๊ฐ์ง์ ๋ณ์๊ฐ ์๋ค. ์ง์ญ๋ณ์: ์ค๊ดํธ ๋ด์์ ์ ์ธ๋ ๋ณ์ ๋งค๊ฐ๋ณ์: ๋ฉ์๋์ ๋๊ฒจ์ฃผ๋ ๋ณ์ ์ธ์คํด์ค ๋ณ์: ๋ฉ์๋ ๋ฐ์, ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์, ์์๋ static์ด ์์ด์ผ ํ๋ค. ํด๋์ค ๋ณ์: ์ธ์คํด์ค ๋ณ์์ฒ๋ผ ๋ฉ์๋ ๋ฐ์, ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์ ์ค์์ ํ์ ์ ์ธ ์์ static์ด ์๋ ๋ณ์ ๊ฐ ๋ณ์์ ์๋ช ์ฃผ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ง์ญ๋ณ์: ์ง์ญ ๋ณ์๋ฅผ ์ ์ธํ ์ค๊ดํธ ๋ด ๋งค๊ฐ๋ณ์: ๋ฉ์๋๊ฐ ํธ์ถ๋๊ณ ๋ถํฐ ๋ฉ์๋๊ฐ ๋๋ ๋๊น์ง ์ธ์คํด์ค ๋ณ์: ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ , ๊ทธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ์์ ๋๊น์ง ํด๋์ค ๋ณ์: ํด๋์ค๊ฐ ์ฒ์ ํธ์ค๋๊ณ , ํ๋ก๊ทธ๋จ์ด ๋๋ ๋๊น์ง ์๋ฐ์์๋ c๋ c++์ ๋ฌ๋ฆฌ ๊ฐ๋น์ง ์ฝ๋ ํฐ๊ฐ ๋๊ฐ ๋๋ฉด ์์์ ๋ณ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์.. ๋๋ณด๊ธฐ ์ด์ 1 ยทยทยท 3 4 5 6 7 8 ๋ค์