๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ˜์‘ํ˜•

java

[Algorithm/Java][๋ฐฑ์ค€] 1987๋ฒˆ ์•ŒํŒŒ๋ฒณ [BOJ] 1987๋ฒˆ ์•ŒํŒŒ๋ฒณ https://www.acmicpc.net/problem/1987 ๋ฌธ์ œ ์ ‘๊ทผ ๊ฐ€๋กœ R, ์„ธ๋กœ C๋กœ ๋œ ๋ณด๋“œ์— ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ์ ํ˜€์žˆ๊ณ , ๊ฐ€์žฅ ์™ผ์ชฝ ์œ„๋ถ€ํ„ฐ ์•ŒํŒŒ๋ฒณ ๋‹น ํ•œ๋ฒˆ์”ฉ๋งŒ ๋ฐฉ๋ฌธํ•ด์„œ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ์•„๋ฌด์ƒ๊ฐ ์—†์ด bfs๋กœ ํ–ˆ๋‹ค๊ฐ€ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ dfs๊ฐ€ ๋” ๋งž๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๋ฐฉํ–ฅ์„ ํ‹€์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋ณด๋“œ์— ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋ฅผ ์ €์žฅํ•˜๋Š” isVisited์™€ ์•ŒํŒŒ๋ฒณ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋ฅผ ์ €์žฅํ•˜๋Š” alphabetVisited๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ–ˆ๋Š”๋ฐ, ์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ ํ•œ๋ฒˆ ๋ฐฉ๋ฌธํ•œ ์•ŒํŒŒ๋ฒณ์€ ๋ฐฉ๋ฌธํ•˜์ง€ ๋ชปํ•˜๋‹ˆ๊นŒ ๋ณด๋“œ์— ๋ฐฉ๋ฌธ์—ฌ๋ถ€๋ฅผ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†๊ณ , ๊ฒฝ๋กœ๋ฅผ String์œผ๋กœ ๊ณ„์† ์ถ”๊ฐ€ํ•ด๊ฐ€๋ฉด์„œ ํ•˜๋ฉด ์•ŒํŒŒ๋ฒณ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋„ ๋”ฐ๋กœ ์ €์žฅํ•˜์ง€ ์•Š์•„๋„ ๋  ๊ฒƒ ๊ฐ™์•„์„œ dfs์— ๊ฐ€๋ ค๋Š” x,y์™€ ์ง€๊ธˆ.. ๋”๋ณด๊ธฐ
[Algorithm/Java][๋ฐฑ์ค€] 2467๋ฒˆ ์šฉ์•ก [BOJ] 2467๋ฒˆ ์šฉ์•ก https://www.acmicpc.net/problem/2467 ๋ฌธ์ œ ์ ‘๊ทผ ์šฉ์•ก์˜ ๊ฐ’๋“ค์ด ์ •๋ ฌ์ด ๋˜์–ด์žˆ์–ด์„œ left์™€ right๋ฅผ ์ด์šฉํ•ด์„œ ์ด๋ถ„ ํƒ์ƒ‰ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ๋‹ค. ์ ˆ๋Œ€๊ฐ’์„ ์ด์šฉํ•ด์„œ ์ ˆ๋Œ€๊ฐ’์ด ๋‚ฎ์€ ๊ฒฝ์šฐ๋ฅผ ์ €์žฅํ•ด๋†“๊ณ , sum์ด 0์ผ ๋•Œ breakํ•˜๊ณ , sum์ด 0๋ณด๋‹ค ์ž‘์„ ๋•Œ๋Š” left ์ธ๋ฑ์Šค๋ฅผ +1 ํ•ด์ฃผ๊ณ , sum์ด 0๋ณด๋‹ค ํฌ๋ฉด right ์ธ๋ฑ์Šค๋ฅผ -1ํ•ด์„œ 0์— ๊ฐ€๊นŒ์šด ๊ฐ’์„ ์ฐพ์•˜๋‹ค. Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ2467 { public s.. ๋”๋ณด๊ธฐ
[Java] ์ž๋ฐ”๋ž€? ์ž๋ฐ”๋ž€? ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐ์ฒด ์ง€ํ–ฅ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ (JVM)์„ ์‚ฌ์šฉํ•˜์—ฌ, ์šด์˜์ฒด์ œ์™€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ⇒ ์ž๋ฐ”๋Š” ์–ด๋Š ์šด์˜์ฒด์ œ์—์„œ๋‚˜ ๊ฐ™์€ ํ˜•์ฑ„๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ด๋‹ค. https://www.tiobe.com/tiobe-index/ (TIOBE ์–ธ์–ด ์ˆœ์œ„ ) ์ž๋ฐ”์˜ ํŠน์ง• ์žฅ์  ์šด์˜์ฒด์ œ์™€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ณผ๊ฐํžˆ ์ œ๊ฑฐํ•˜์—ฌ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ๋ฐฐ์šฐ๊ธฐ๊ฐ€ ์‰ฝ๋‹ค. ์ž๋™ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋“ฑ์„ ์ง€์›ํ•˜์—ฌ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ์•ˆ์ •์„ฑ์ด ๋†’๋‹ค. ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์„ ๊ธˆ์ง€ํ•˜๊ณ  ์ œ๋„ค๋ฆญ์„ ๋„์ž…ํ•จ์œผ๋กœ์จ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์˜€๋‹ค. ์ˆ˜๋งŽ์€ ์ฐธ๊ณ  ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์  ์‹คํ–‰์„ ์œ„ํ•ด ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์„ ๊ฑฐ์ณ์•ผ ํ•˜๋ฏ€๋กœ, ๋‹ค๋ฅธ .. ๋”๋ณด๊ธฐ
[Algorithm/Java][๋ฐฑ์ค€] 12852๋ฒˆ 1๋กœ ๋งŒ๋“ค๊ธฐ 2 [BOJ] 12852๋ฒˆ 1๋กœ ๋งŒ๋“ค๊ธฐ 2 https://www.acmicpc.net/problem/12852 ์ ‘๊ทผ ๋ฐฉ๋ฒ• ์ฒ˜์Œ์—๋Š” dfs ๋ฐฉ๋ฒ•์œผ๋กœ ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์ ‘๊ทผ์„ ํ–ˆ๋Š”๋ฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜์„œ dp ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ๋ฐ”๊พธ์—ˆ๋‹ค. dp[i]๋ฅผ ์šฐ์„  dp[i-1] +1๋กœ ํ•˜๊ณ , 2๋กœ ๋‚˜๋ˆ„์–ด์งˆ ๋•Œ์™€, 3์œผ๋กœ ๋‚˜๋ˆ„์–ด์งˆ ๋•Œ dp[i/2] + 1๊ณผ dp[i/3] + 1์„ ๋น„๊ตํ•ด์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ dp[i]๋กœ ๊ฒฐ์ •ํ•˜์˜€๋‹ค. i๋Š” 2๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์„œ dp[n]์ผ ๋•Œ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜์˜€๊ณ  ๋งŒ๋“œ๋Š” ์ ˆ์ฐจ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ์œ„์— ํ–ˆ๋˜ ๋ฐฉ์‹์„ ๊ฑฐ๊พธ๋กœ ํ•ด์„œ ์ถœ๋ ฅํ•ด์ฃผ์—ˆ๋‹ค. Code import java.util.Scanner; public class BOJ12852 { public static void main(String[].. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹จ์ฒด์‚ฌ์ง„ ์ฐ๊ธฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹จ์ฒด์‚ฌ์ง„ ์ฐ๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/1835 ์ ‘๊ทผ ๋ฐฉ๋ฒ• ์ฒ˜์Œ์— ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ์นด์นด์˜ค ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ์— ๋“ค์–ด๊ฐ€์„œ ํ•ด์„ค์„ ๋ดค๋Š”๋ฐ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๋‹ค ์„ธ์›Œ๋ณด๊ณ  ๊ทธ ์ค‘์— ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์˜€๋‹ค. dfs๋ฅผ ์ด์šฉํ•ด์„œ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ค„์„ ์„ธ์›Œ๋ณด๊ณ  check ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•ด์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์…Œ๋‹ค. Code import java.util.HashMap; class Solution { public int answer = 0; public boolean[] visited = new boolean[8]; String[] friends = {"A", "C", "F", "J", "M", "N", "R.. ๋”๋ณด๊ธฐ
[Algortihm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ https://programmers.co.kr/learn/courses/30/lessons/42888 ๋ฌธ์ œ ์ ‘๊ทผ HashMap์„ ์ด์šฉํ•ด์„œ ์œ ์ €์•„์ด๋””์™€ ๋‹‰๋„ค์ž„์„ ์ €์žฅํ•˜๊ณ  list์— ์œ ์ € ์•„์ด๋””์™€ Enter or Leave๋ฅผ ์ €์žฅํ•œ ํ›„์— ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ์œ ์ € ์•„์ด๋””์™€ ๋‹‰๋„ค์ž„์„ ๋งค์นญํ•ด์„œ ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์„ฑํ•˜์˜€๋‹ค. Code import java.util.HashMap; import java.util.ArrayList; class Solution { public String[] solution(String[] records) { String[] answer; HashMap users = new HashMap(); ArrayList messages = new ArrayList(); for(.. ๋”๋ณด๊ธฐ
[Algorithm/Java][๋ฐฑ์ค€] 2263 ํŠธ๋ฆฌ์˜ ์ˆœํšŒ [BOJ] 2263 ํŠธ๋ฆฌ์˜ ์ˆœํšŒ https://www.acmicpc.net/problem/2263 ๋ฌธ์ œ ์ ‘๊ทผ ์ธ์˜ค๋”์™€ ํฌ์ŠคํŠธ์˜ค๋” ์ˆœํšŒ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ”„๋ฆฌ์˜ค๋” ์ˆœํšŒ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํฌ์ŠคํŠธ์˜ค๋”์—์„œ๋Š” ํŠธ๋ฆฌ์™€ ์„œ๋ธŒํŠธ๋ฆฌ์˜ ๋ฃจํŠธ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ , ์ธ์˜ค๋”์—์„œ๋Š” ํฌ์ŠคํŠธ์˜ค๋”์—์„œ ๊ตฌํ•œ ๋ฃจํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์™€ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋ฆฌ์˜ค๋” ์ˆœํšŒ๋ฅผ ๊ตฌํ•˜์˜€๋‹ค. Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BOJ2263 { static int n,idx = 0; static int[] inorder, preorder, postorder; .. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ์••์ถ• [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ์••์ถ• https://programmers.co.kr/learn/courses/30/lessons/60057 ๋ฌธ์ œ ์ ‘๊ทผ ๊ธด ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์ค„์ด๊ธฐ์œ„ํ•ด์„œ ๋ฌธ์ž์—ด์„ n๊ฐœ ๋‹จ์œ„๋กœ ์ž˜๋ผ์„œ ๊ฐ™์€ ๋ฌธ์ž์—ด str์ด n๋ฒˆ ๋ฐ˜๋ณต๋˜๋ฉด nstr๋กœ ํ‘œํ˜„ํ•˜์—ฌ ์••์ถ•ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. compressString ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์••์ถ•ํ•˜๋ ค๋Š” ๋ฌธ์ž์—ด s์™€ ์ž๋ฅด๋ ค๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด len์„ ๋ฐ›์•„์„œ s๋ฅผ len๋‹จ์œ„๋กœ ์ž˜๋ผ ์••์ถ•ํ•œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ•˜์˜€๋‹ค. Code class Solution { public int solution(String s) { int answer = s.length(); for(int i = 1; is.length()){ cur = s.substring(i,s.length()); } else.. ๋”๋ณด๊ธฐ