본문 바로가기

분류 전체보기

(72)
[프로그래머스] 영어 끝말잇기 - Java https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0] programmers.co.kr import java.util.HashSet; class Solution { public int[] solution(int n, String[] words) { int[]..
[프로그래머스] 점프와 순간 이동 - Java https://programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈� programmers.co.kr n이 2로 나누어 떨어지면 2로 나누고 n이 2로 나누어 떨어지지 않으면 1을 빼고 건전지 사용량을 1 더해주면 된다. import java.util.*; public class Solution { public int solution(int n) { int ans = 0; while(n > 0) { if (n % 2 == 1) { n--..
[프로그래머스] 소수 만들기 - Java https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 � programmers.co.kr 가능한 세 수의 조합을 모두 따져본 뒤 합계가 소수인지 판정만 하면 되는 문제 n이 소수인지 판별하기 위해서는 2~n-1까지 모든 수로 나눠볼 필요 없이 루트n까지만 나눠보면 된다. class Solution { public boolean isPrime(int n) { for (int i = 2; i*i
[프로그래머스] 스킬트리 - Java https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr skill_tree의 원소들을 skill에 등장하는 알파벳만 남기고 모두 없앤 뒤(코드에서 sub에 해당) skill 문자열에 sub로 시작하면 가능한 스킬트리로 판정되도록 짰당. 다른 분 코드를 보니 정규표현식이 굉장히 편해보인다. 공부해야겠다. class Solution { public int solution(String skill, String[] skill_trees) { int answer = 0; // skill에 포함되는 알파벳 정보 저장 boolean[] alpha = new boolean[26]; for (var a : skil..
[프로그래머스] 예산 - Java https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 �� programmers.co.kr 아니 이걸 왜 DP라고 생각하고 끙끙댔지 ㅋㅋㅋㅋ 어떤지 난이도 1에 있는게 이상하다 싶었다 이 문제는 그리디로 접근하면 된다. 일단 d를 오름차순으로 정렬하고 budget이 넘지 않을때까지 첫번째 원소부터 선택해나가면 된다. 결론은 매우 간단한 문제였다.. import java.util.Arrays; class Solution { public int solu..
[프로그래머스] 지형 이동 - Java https://programmers.co.kr/learn/courses/30/lessons/62050 코딩테스트 연습 - 지형 이동 [[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18 programmers.co.kr import java.util.*; class Solution { class Pair { int x; int y; public Pair(int x, int y) { this.x = x; this.y = y; } } class Edge { int u, v, w; public Edge(int u..
[프로그래머스] 종이접기 - Java https://programmers.co.kr/learn/courses/30/lessons/62049 코딩테스트 연습 - 종이접기 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽�� programmers.co.kr 규칙찾는 문제 꿀잼! n result 1 0 2 0,0,1 3 0,0,1,0,0,1,1 4 0,0,1,0,0,1,1,0,0,0,1,1,0,1,1 일단 result를 보면 중앙의 0을 기준으로 우측 숫자들은 좌측 숫자를 대칭시킨 후 0=>1, 1=>0으로 바꾼 것이다. 그리고 좌측 숫자는 n-1일 때의 result와 동일하다. 이를 이용해서 코드를 짜..
[프로그래머스] 베스트앨범 - Java https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr import java.util.*; class Solution { public int[] solution(String[] genres, int[] plays) { HashMap g1 = new HashMap(); for (int i = 0; i < genres.length; i++) { g1.put(genres[i], g1.getOrDefault(genr..