Algorithm/Java
-
[프로그래머스/JAVA] 체육복Algorithm/Java 2024. 10. 15. 21:25
https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 문제 풀이도난당하지 않은 학생 수를 기본적으로 계산합니다.여벌 체육복이 있지만 도난당한 학생을 먼저 처리해 중복을 방지합니다.나머지 여벌 체육복을 가진 학생들이 앞뒤 학생에게 빌려줄 수 있는지 확인합니다.최종적으로 체육복을 가진 학생 수를 반환합니다. 1. 학생 번호 순차적으로 배치 lost와 reserve 배열을 정렬하여, 학생들의 번호가 순서대로 배치되도록 합니다.import java.util...
-
[프로그래머스/JAVA] 여행경로Algorithm/Java 2024. 10. 14. 20:20
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 문제 풀이 1.변수 선언 및 초기화list: 모든 가능한 경로를 저장하는 리스트입니다. 탐색을 마친 경로는 여기에 저장됩니다.visited: 각 항공권이 사용되었는지 여부를 기록하는 배열입니다. 이미 사용한 티켓을 다시 사용하지 않도록 하기 위한 배열입니다.import java.util.*;class Solution { // 방문한 경로들을 저장할 리스트 static ArrayList l..
-
[프로그래머스/JAVA] 단어 변환Algorithm/Java 2024. 10. 6. 16:35
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 문제 풀이visited 배열과 answer 변수를 초기화.dfs 함수를 통해 재귀적으로 변환 과정을 탐색.한 글자 차이가 나는 단어로만 변환을 시도.모든 경로를 탐색하면서 목표 단어에 도달하면 cnt 값을 answer에 저장.탐색 완료 후 최종 변환 횟수를 반환. 1. 변수 초기화:visited: 각 단어가 변환 과정에서 이미 사용되었는지 확인하기 위한 배열입니다. 길이는 주어진 words 배열의 ..
-
[프로그래머스/JAVA] 네트워크Algorithm/Java 2024. 10. 5. 20:03
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 문제 풀이1. 모든 컴퓨터를 한 번씩 방문합니다.2. 방문한 컴퓨터와 연결된 컴퓨터들을 탐색해 같은 네트워크로 묶습니다.3. 방문하지 않은 컴퓨터를 만나면 새로운 네트워크로 간주합니다.4. DFS(깊이 우선 탐색)를 사용해 각 네트워크를 탐색합니다. + DFS가 필요한 이유?DFS를 사용하면 한 컴퓨터에서 시작해 연결된 모든 컴퓨터를 방문할 수 있습니다. 이때 방문한 컴퓨터는 다시 방문하지 않도록 ..
-
[프로그래머스/JAVA] 타겟 넘버Algorithm/Java 2024. 9. 18. 22:08
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 문제 풀이이 함수는 재귀적으로 모든 경우의 수를 탐색합니다.매 단계마다 현재 숫자를 더하거나 빼는 두 가지 선택지가 있습니다. 깊이 우선 탐색(DFS)으로 경우의 수 탐색 private void dfs(int depth, int[] numbers, int target, int sum) { // 모든 숫자를 다 사용했을 때 (depth가 numbers의 길이와 같을 때) if (depth..
-
[프로그래머스/JAVA] 모음사전Algorithm/Java 2024. 9. 18. 22:08
https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 문제 풀이 1. 필드 및 변수 정의 static List list;static String[] words = {"A", "E", "I", "O", "U"}; list : 모든 단어를 저장할 리스트입니다. 2. 재귀 함수 (dfs)를 통한 단어 생성 static void dfs(String str, int depth) { list.add(str); if (depth == 5) ret..
-
[프로그래머스/JAVA] 카펫Algorithm/Java 2024. 9. 18. 22:08
https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 정답코드import java.util.*;class Solution { public int[] solution(int brown, int yellow) { int[] answer = new int[2]; int size = brown + yellow; // 전체 넓이 12 // 약수값 저장할 배열 List as = new Arra..
-
[프로그래머스/JAVA] 소수찾기Algorithm/Java 2024. 9. 18. 22:08
https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr - 문제 풀이 1. 숫자 조합 만드는 재귀함수 작성 public int solution(String numbers) { // 아래 ""부분에 숫자 조합 만듬 recursive("", numbers); } // 중복을 제거하며 숫자 저장HashSet numbersSet = new HashSet();public void recursive(String comb, St..