프로그래머스 알고리즘 - 네트워크 ☞ 네트워크 문제 링크 그래프 탐색을 코드로 구현 할 줄 알아야 풀 수 있는 문제였습니다. ☞ 그래프(Graph) DFS 탐색 구현하기 문제풀이코드의 전체적인 틀은 그래프 탐색을 응용합니다.네트워크망은 그래프로 치환하고, 각각의 컴퓨터를 노드로 치환합니다.class Network { class Computer { . . . } . . . } 탐색한 컴퓨터가 어떤 컴퓨터에도 연결되어 있지 않다면 네트워크의 숫자를 하나 증가시킵니다. class Network{ . . . void isNewNetwork(Computer computer) { if(!computer.connected) network++; } } 모든 컴퓨터를 탐색하기 위해서, 탐색은 모든 컴퓨터를 기점으로 시작..
The PanlindromeThe Panlindrome (회문) - 문제 링크 (탑코더 로그인 필요함) 한줄요약) 주어진 문자열 뒤에 (0개 이상의) 문자를 추가하여, 가장 짧게 회문이 되는 경우의 문자열 길이를 구하시오. (회문은 앞부터 읽으나 뒤부터 읽으나 같은 문자열을 말합니다. 예를들면 리효리) ex1) 주어진 문자열이 abb이면 가장 짧게 회문이 되는 경우는 abba이고 문자열 길이 4가 정답 ex2) 주어진 문자열이 abcba이면 이미 회문이 되므로 문자열 길이는 5가 정답 문제 풀이먼저 주어진 문자열이 회문인지 확인합니다. 주어진 문자열이 a b c 인 경우 0번째와 n번째 문자가 같은지 확인합니다. a b c 문자가 같은 경우 1번째, 2번째 . . . 의 경우를 계속 확인해보고, 아닌 경..
프로그래머스 알고리즘 - 타겟넘버☞ 타겟 넘버 문제 링크 멱집합(모든 부분집합)을 구하는 방법을 응용하면 해당 문제를 풀기 수월 합니다. ☞ 멱집합(부분집합) 알고리즘 문제 풀이첫번째 주어진 숫자로 덧셈(+)을 계산하거나, 혹은 뺄셈(-)을 진행합니다.→ 두번째 주어진 숫자로 덧셈(+)을 계산하거나, 혹은 뺄셈(-)을 진행합니다.→ . . . → N번째 주어진 숫자로 덧셈(+)을 계산하거나, 혹은 뺄셈(-)을 진행합니다.N번째까지 계산한 결과가 타겟 넘버와 같다면 answer을 하나 증가 시킵니다. public class Solution { private static int answer = 0; public static void main(String[] args) { int[] numbers = {1, ..