자바/알고리즘 문제 풀이79 프로그래머스] n으로 표현 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. DFS DFS를 통해 +,-,*,/ 사칙연산을 하는것도 중요하지만 현재 값에다가 N,NN,NNN.... 의 값을 사칙연산해야한다. import java.util.*; class Solution { static int n,target; static int result = Integer.MAX_VALUE; public int solution(int N, int number) { n = N;.. 자바/알고리즘 문제 풀이 2023. 5. 17. 프로그래머스] 퍼즐 조각 채우기 https://school.programmers.co.kr/learn/courses/30/lessons/84021 참고 https://tmdrl5779.tistory.com/206 풀이 1. bfs를 이용하여 board 에서는 빈칸의 조각을 table에서는 퍼즐의 조각에 대한 정보를 저장한다. 각 조각의 정보는 원점을 기준(2차원배열을 사용하므로 i인덱스 0 j 인덱스0를 의미)으로 정렬한다. bfs를 이용하여 각 노드그룹을 방문하고, 각 노드그룹의 좌표값들을 저장한다고 생각하면 된다. [board, table의 정보가 2차원배열로 들어온다. xy그래프로 생각해서 원점기준 정렬을 하지만 실제로 저장된 조각의 정보 좌표는 2차원배열의 인덱스로 보면 된다.] 조각들의 좌표 정렬은 i인덱스의 오름차순, i가 .. 자바/알고리즘 문제 풀이 2023. 5. 10. 프로그래머스] 아이템줍기 https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 2차원배열로 들어오는 직사각형의 정보를 받고, 테두리는 1로 채우고, 내부내용은 2로 채워서 전체 테두리 부분을 구한다. x,y는 y가 2차원배열의 i인덱스 , x가 2차원배열의 j인덱스로 생각하고 진행한다. 문제발생 -> 꺾어서 진행해야하는부분이 bfs로 통과할때 문제가 발생함. 꺾어서 내려가야하는데 바로 쭉내려가버림 정답은 17인데 안쪽으로 들어갔다나오지않아서 15로 출력됨. 해결방안 -.. 자바/알고리즘 문제 풀이 2023. 5. 9. 프로그래머스] 단어 변환 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 바꿀수있는단어를 큐에담아 bfs진행 import java.util.*; class Solution { static boolean[] visited; static int n; static int result =0; public int solution(String begin, String target, String[] words) { /* 문자의 차이가 1개인 단어를 찾아서 bfs진행 */ n .. 자바/알고리즘 문제 풀이 2023. 4. 27. 프로그래머스] 네트워크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 dfs또는 bfs가 몇번동작하는 문제 백준의 촌수 구하는 문제와 비슷. 문제는 간선의 정보를 주는것이 아니라 인접행렬을 전달해준다. 매번 간선의정보를 받아 인접리스트를 만들어서 사용했었다. 1. 인접행렬을 인접리스트로 바꿔서 푸는 방법 2. 인접행렬로 푸는 방법을 시도한다. 인접리스트 또는 인접행렬의 전체를 순회하며 방문한 노드인지 확인한다. 1. 인접행렬을 인접리스트로 바꿔서 푸는 방법 i.. 자바/알고리즘 문제 풀이 2023. 4. 27. 프로그래머스] 타겟넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 +, - 로 이루어진 그래프가 있다고 생각한다. 해당 그래프를 순회하면서 주어진 숫자배열에 값들을 더하거나 빼면서 target 넘버가 나오는지 확인한다. import java.util.*; class Solution { static int count=0; //결과를 저장할 변수 static char[] d = {'+','-'}; //반복문을 쓸거면 사용할 배열 static public int.. 자바/알고리즘 문제 풀이 2023. 4. 27. ★프로그래머스3/베스트앨범/Map,Comparator,class 하나의 Map을 이용해서 풀려고하니 복잡해진 문제 2개의 Map으로 나눠도 좀 복잡하긴하다. Map을 정렬하려면 EntrySet를 이용해서 정렬하던지 Map안에 정렬가능한 List같은 collection객체를 넣던지 해야한다. Map을 EntrySet로 정렬하고 정렬된 EntrySet의 Key(장르)를 이용하여 인덱스를 가져오는 풀이 import java.util.*; import java.util.Map.*; class Solution { public int[] solution(String[] genres, int[] plays) { Map map = new HashMap(); // Map map2 = new HashMap(); // > for(int i=0;i { return map2.get(o2.g.. 자바/알고리즘 문제 풀이 2023. 3. 28. 프로그래머스2/위장 / Hash https://school.programmers.co.kr/learn/courses/30/lessons/42578 values는 collection으로 , keySet은 set으로 반환되지만 그냥 바로 받아서 사용가능 + 조합의 경우의 수를 잘생각해야한다. import java.util.*; import java.util.Map.*; class Solution { public int solution(String[][] clothes) { int answer = 1; Map map = new HashMap(); for(String[] cloth : clothes) { String category = cloth[1]; map.put(category,map.getOrDefault(category,0)+1); .. 자바/알고리즘 문제 풀이 2023. 3. 28. 프로그래머스] 완주하지 못한 선수 /Hash https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 배열 정렬로 풀이 참가자,완주자 명단을 정렬 참가자명단을 반복문을 돌면서 같은 인덱스에 완주자 명단을 보고 이름이 같은지 체크 아니면 완주 못한사람 public String solution(String[] participant, String[] completion) { String answer = ""; if(participant.length == 1) { return participant[.. 자바/알고리즘 문제 풀이 2023. 3. 28. 백준/11404 플로이드 / (최단경로찾기) 플로이드 와샬,다익스트라 플로이드 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 48443 20032 14176 41.698% 문제 n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 버스의 정보는 버스의 시작 도시 a, 도착 도시 b, 한 번 타.. 자바/알고리즘 문제 풀이 2023. 1. 10. ★★★ 백준/13549 숨바꼭질3 / bfs, 다익스트라 알고리즘 숨바꼭질 3 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 59673 17254 11099 25.327% 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다... 자바/알고리즘 문제 풀이 2023. 1. 3. 백준/1504 특정한 최단 경로/ 다익스트라 알고리즘 특정한 최단 경로 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 59864 15172 10258 24.557% 문제 방향성이 없는 그래프가 주어진다. 세준이는 1번 정점에서 N번 정점으로 최단 거리로 이동하려고 한다. 또한 세준이는 두 가지 조건을 만족하면서 이동하는 특정한 최단 경로를 구하고 싶은데, 그것은 바로 임의로 주어진 두 정점은 반드시 통과해야 한다는 것이다. 세준이는 한번 이동했던 정점은 물론, 한번 이동했던 간선도 다시 이동할 수 있다. 하지만 반드시 최단 경로로 이동해야 한다는 사실에 주의하라. 1번 정점에서 N번 정점으로 이동할 때, 주어진 두 정점을 반드시 거치면서 최단 경로로 이동하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어.. 자바/알고리즘 문제 풀이 2023. 1. 3. 이전 1 2 3 4 ··· 7 다음