분류 전체보기 (386) 썸네일형 리스트형 [pro] 프로그래머스 level3 49189 가장 먼 노드 (Java) - 다익스트라 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 다익스트라를 이용해서 풀었다. [코드] import java.util.*; class Solution { List graph = new ArrayList(); int[] dist; public int solution(int n, int[][] edge) { int answer = 0; //1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지 //1번 노드로부터 -> 모든 노드에 대.. [pro] 프로그래머스 level3 43164 여행경로 (Java) - DFS [문제] https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] DFS 문제. 여러 경로가 나오면 사전순으로 정렬 후 첫번째 경로를 반환한다. [코드] import java.util.*; class Solution { List list = new ArrayList(); boolean[] used; public String[] solution(String[][] tickets) { String[] answer = {}; //방문하는 공항 경로를.. [pro] 프로그래머스 level3 70130 스타 수열 (Java) [문제] https://school.programmers.co.kr/learn/courses/30/lessons/70130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 먼저 수열에 나오는 숫자의 빈도수를 카운트 해준다. 스타 수열이 충족해야 하는 조건 3가지 중, 가장 길이가 긴 스타 수열을 반환하는데 영향을 미치는 조건은 교집합의 원소의 개수가 1 이상이라는 조건이다. 0~n-1 까지의 숫자 x에 대해서 수열의 index를 이동시켜가며 index, index+1 의 숫자가 다르고, 숫자 x가 교집합으로 등장하는지를 확인해준다. 모든 조건을 만.. [pro] 프로그래머스 level3 72413 합승 택시 요금 (Java) - 다익스트라 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 출발 지점과 도착지점이 주어지고, 노드들 사이에 양수 가중치가 있기 때문에 다익스트라를 생각해볼 수 있다. s에서 출발해서 a, b 지점 모두에 최저 요금으로 도착을 해야 한다. 합승을 할 수 있기 때문에 예시에서처럼 s->x 지점까지 함께 가고, x->a, x->b 지점으로 이동하는 형태가 될 것이다. 이는 다음 4가지 경우의 수를 모두 충족한다. 1) 처음부터 따로 이동하는 .. [pro] 프로그래머스 level3 72414 광고 삽입 (Java) - 투포인터 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/72414 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 광고가 삽입되는 특정 구간의 시작점을 구하는 문제이기 때문에 투포인터를 생각해볼 수 있다. 100시간에 대해 초로 나타내면 360000이므로 이를 배열로 선언할 수 있고, 모든 logs의 구간에 대해서 카운트를 증가시킴으로써 각 초마다 몇 명이 듣는지를 나타낸다. 이제 고정된 광고의 길이가 주어지므로 포인터를 이동시켜가며 가장 큰 구간합이 되는 시작점을 반환해주면 된다. 이때 완.. [pro] 프로그래머스 level3 86053 금과 은 운반하기 (Java) - 이분탐색 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/86053 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 먼저 이분탐색을 생각해내야 한다...(어떻게 생각해내는건지?) 금 a와 은 b를 전달하기 위한 가장 빠른 시간을 구하자!가 아닌, 특정 시간 t 안에 금 a와 은 b를 운반할 수 있는지를 확인하고, 운반 가능하면 시간을 줄이고, 불가능하면 시간을 늘리도록 한다. 이분탐색을 하려면 min, max (left, right) 값을 설정해줘야 하는데, min 값은 1초로 해주었다. ma.. [pro] 프로그래머스 level3 77886 110 옮기기 (Java) - 문자열, StringBuilder [문제] https://school.programmers.co.kr/learn/courses/30/lessons/77886 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 먼저 문자열에서 "110"을 전부 추출한다. 그후 남은 문자열에 0이 없으면, 맨 앞에 110이 와야 사전 순으로 제일 앞에 오게 된다. 문자열에 0이 포함되어 있다면 가장 마지막 0의 위치를 찾은 후, 그 다음부터 추출한 문자열을 넣어줘야 한다. 이를 쉽게 하기 위해 StringBuilder를 사용하였다. [코드] import java.util.*; class Solution .. [pro] 프로그래머스 level3 76503 모두 0으로 만들기 (Java) - DFS [문제] https://school.programmers.co.kr/learn/courses/30/lessons/76503 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 리프노드에서 루트노드로 return되면서 가중치의 합과 횟수를 더해나간다. - dfs (case 7에서 런타임에러가 나는데 방법을 모르겠어서 일단 보류..) [코드] import java.util.*; class Solution { List graph = new ArrayList(); long answer; public long solution(int[] a, int[][] ed.. 이전 1 ··· 14 15 16 17 18 19 20 ··· 49 다음