Java (501) 썸네일형 리스트형 [자바 알고리즘 인터뷰] 12장 그래프 (2) 전화번호 문자 조합 https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/ - 2에서 9까지 숫자가 주어졌을 때 전화번호로 조합 가능한 모든 문자를 출력하라 풀이 1) 모든 조합 탐색 -모두 조합하는 형태로 전체를 탐색한 후 백트래킹하면서 결과를 조합할 수 있다.- digits는 입력값이며, 각 자릿수에 해당하는 키판 배열을 DFS로 탐색하면 결과가 완성된다, - 입력값인 digits의 자릿수 단위로 반복하고, 현재 자리 숫자에 해당하는 모든 문자를 탐색하면서 지금까지 구성된 문자열을 path 변수에 저장해 넘기면서 재귀 탐색한다. public void dfs(List result, Map> dic, String digits.. [자바 알고리즘 인터뷰] 12장 그래프 (1) 섬의 개수 https://leetcode.com/problems/number-of-islands/description/ - 1을 육지로, 0을 물로 가정한 2차원 그리드 맵이 주어졌을 때, 섬의 개수를 계산하라(연결되어 있는 1의 덩어리 개수를 구하라) 풀이 1) DFS로 그래프 탐색 - 입력값이 정확히 그래프는 아니지만 사실상 동서남북이 모두 연결된 그래프로 가정하고 동일한 형태로 처리할 수 있으며, DFS 재귀를 이용해 네 방향 각각의 탐색을 끝마치면 1이 증가하는 형태로 육지의 개수를 파악할 수 있다. - 먼저 여기서는 행렬 입력값인 grid의 행, 열 단위로 육지(1)인 곳을 찾아 진행하다가 육지를 발견하면 그때부터 dfs()를 호출해 탐색을 시작한다. //행렬을 모두 탐색 for(int i=0; .. [자바 알고리즘 인터뷰] 12장 그래프 그래프 - 객체의 일부 쌍(Pair)들이 '연관되어' 있는 객체 집합 구조 오일러 경로 - 모든 간선을 한 번씩 방문하는 유한 그래프 해밀턴 경로 - 각 정점을 한 번씩 방문하는 무향 또는 유향 그래프 경로 - 최적 알고리즘이 없는 N-P 완전 문제 해밀턴 순환- 해밀턴 경로 중에서 원래의 출발점으로 돌아오는 경로 외판원 문제(Travelling Salesman Problem)- 한 번만 방문하여 출발지로 돌아오는 경로 중 가장 짧은 경로 그래프 순회(Graph Traversal)- 그래프의 각 정점을 방문하는 과정 - 그래프를 인접 리스트로 표현한 예- 인접 리스트는 출발 노드를 키로, 도착 노드를 값으로 표현 Map> graph = new HashMap();graph.put(1,Arrays.. [JAVA] 프로그래머스 - 덧칠하기 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [프로그래머스] 덧칠하기 - 자바(Java) (tistory.com) [프로그래머스] 덧칠하기 - 자바(Java)문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁ittrue.tisto.. [JAVA] 프로그래머스 - 직사각형 별찍기 https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 import java.util.Scanner;class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); //가로 int b = sc.nextInt(); //세로 for(int i=0; i [JAVA] 프로그래머스 - 서울에서 김서방 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 import java.util.*;class Solution { public String solution(String[] seoul) { int idx = Arrays.asList(seoul).indexOf("Kim"); return "김서방은 "+idx+"에 있다"; }} [JAVA] 프로그래머스 - 두 정수 사이의 합 https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 class Solution { public long solution(int a, int b) { long answer = 0; int min = Math.min(a,b); int max = Math.max(a,b); for(int i=min; i [JAVA] 프로그래머스 - 나머지가 1이 되는 수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 class Solution { public int solution(int n) { int answer = 0; for(int i=1; i 이전 1 ··· 4 5 6 7 8 9 10 ··· 63 다음