Dev/Programmers 22

[프로그래머스] 정수 삼각형 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Idea아래에서 위로 올라가면서 계산하는 방식으로 풀어야겠다고 생각했다. 0번째 줄에서 1번째 줄의 두 경로 중 큰 수 선택, 1번째 줄에서 2번째 줄의 두 경로 중 큰 수 선택 ... length - 2 번째 줄에서 length - 1번째 줄의 두 경로 중 큰 수 선택 순으로 이어진다. 즉, 맨 아래 줄은 계산할 필요가 없으니까 triangle.length - 2 부터 계산했다. 현재 위치에서 두 경로 중 더 큰 경로를 선택하다보면, tri..

Dev/Programmers 2025.02.07

[프로그래머스] 등굣길 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Review오랜만의 코테 공부...처음에 헷갈렸던 포인트는 m과 n을 반대로 설정했다는 것.. 그냥 문제의 그림을 돌려서 좌표로 생각하면 된다! 만약 문제가 좌표로 나왔다면 m과 n을 그대로 설정하면 된다. 그래도 한 번 틀려봤으니 다음에는 어떻게 풀어야 할지 잘 판단할 수 있을 것 같다.그리고 DFS로도 풀 수 있을 것 같아서 풀어봤다.  CodeDP ver.)class Solution { public int solution(int m..

Dev/Programmers 2025.02.07

[프로그래머스] 카펫 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Review첫 번째 코드처럼 ㄹㅈㄷ 대충 풀려고 하다가 테케 몇 개에서 오류 떠서 수정...ㅎ 이론상으로는 완벽한 것 같은데 말이죠... 큼큼 아무튼 그래서 아래처럼 다시 풀었습니다 쉬운 문제였어요  Code틀린 풀이)import java.util.*;class Solution { public int[] solution(int brown, int yellow) { int[] answer = new int[2]; ..

Dev/Programmers 2025.01.17

[프로그래머스] 2021 KAKAO BLIND RECRUITMENT 합승 택시 요금 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/72413?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Idea오랜만에 AI 추천 문제에 도전했다. 가중치가 있는 경로 찾기 문제여서 다익스트라 개념을 가장 먼저 떠올렸다.  Codeimport java.util.*;class Solution { public int solution(int n, int s, int a, int b, int[][] fares) { int distS[] = dijkstra(n, s, fares); int distA..

Dev/Programmers 2025.01.17

[프로그래머스] 소수 찾기 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Review순열 + DFS 의 문제였다. 우선, 주어진 숫자들로 만들 수 있는 모든 수를 구하기 위해 순열을, 중복되지 않는 소수만 저장할 수 있도록 Set을 사용했다. 각 자리에 숫자를 하나씩 추가하면서, 그 숫자가 사용되었는지 visited 배열을 통해 확인하고, 사용된 숫자는 다시 선택되지 않도록 했다. 수가 조합될 때마다 문자열로 만들어 소수 판별을 해주었다. 이때, 평소에 사용하던 소수판별법이 아니라, 에라토스테네스의 체 개념을 사용..

Dev/Programmers 2025.01.14

[프로그래머스] 모음사전 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  IdeaDFS로 슥삭 하고 풀었다. 그런데 생각해보니 완전탐색 문제네... 점심 먹고 와서 다시 풀어야징  Codeimport java.util.*;class Solution {    List list = new ArrayList();        public int solution(String word) {        dfs("", 0);        return list.indexOf(word);    }        private vo..

Dev/Programmers 2025.01.08

[프로그래머스] 조이스틱 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Review처음에는 list에 넣어서 풀었는데 좌우 이동을 계산하는 데 불편함을 느껴서 아래와 같은 코드로 수정했다. 아래-위 방식은 풀기 쉬웠는데, 좌-우 방식이 좀 까다로웠다. 우선 크게 분류하면, 아래-위 이동과 좌-우 이동으로 코드를 나누어 계산한 후 더해주는 방식이다. minMoves를 초기화해준 뒤 i를 기준으로 좌로 이동하는 횟수와 우로 이동하는 횟수 중 작은 것을 선택해 답에 더해주면 된다.가장 하단의 코드는 name이 모두 A..

Dev/Programmers 2024.12.30

[프로그래머스] 모의고사 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/42840?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Idea학생들의 답변 패턴을 길이별로 정해주고, 각 학생이 문제를 풀 때마다 answer[i]++을 해준다. 세 학생 중 가장 높은 점수를 얻은 사람을 list에 넣어주고, int[]로 바꿔주면 끝!  Codeimport java.util.*;class Solution { public int[] solution(int[] answers) { int[] answer = new int[3]; ..

Dev/Programmers 2024.12.24

[프로그래머스] 최소직사각형 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Ideasizes[i][0]과 sizes[i][1]을 비교해서 정렬해준 후, 각각의 배열에서 max를 찾아주었다. 좋은 아이디어라고 생각했었는데 다른 사람의 풀이를 보니 너무나 깔끔하고 쉬운 풀이를 발견...! (해당 코드는 아래에 첨부함)  Codeclass Solution { public int solution(int[][] sizes) { int answer = 0; int max0 = 1; i..

Dev/Programmers 2024.12.23

[프로그래머스] 베스트앨범 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Review개인적으로는 조금 귀찮은 문제였던.. 우선 HashMap으로 genres, plays를 매핑해주고, 각각 sort를 해서 정렬해줬다. 그리고 for문이 gen을 도는 동안 genres[i]가 같은 걸 만나면 count++ 해주고 list에 넣어서 get! 이전에 한 번 풀어봤던 문제여서 기억이 나서 비교적 쉽게 풀었는데 나중에는 이렇게 list로 바로 풀 수 있을지 모르겠다. 하하  Codeimport java.util.*;clas..

Dev/Programmers 2024.12.23