본문 바로가기

전체 글

(75)
[프로그래머스][JAVA]Lv. 2 - 할인 행사 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 10일 동안 원하는 제품과 수량이 할인하는 날짜가 일치하는 경우를 찾는다 그런 경우가 몇일인지를 찾는 문제 HashMap map = new HashMap(); HashMap answer_map = new HashMap(); for (int i = 0; i < want.length; i++) { answer_map.put(want[i], number[i]); } for (int i = 0; i <..
[프로그래머스][JAVA]Lv. 2 - 두 큐 합 같게 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 큐 합이 같은 경우를 만들기 위해 몇 번의 작업이 필요한지를 구하는 문제 문제 그대로 두개의 큐를 만들고 현재 큐의 합을 나타내는 q1Sum, q2Sum이라는 변수를 이용하여 직접 이동시켜 정답이 나올 때까지 반복하였다 두 큐 합이 같을때까지 answer를 증가시켜 같아지는 순간의 answer값이 정답으로 출력되도록 하였다 import java.util.*; class Solution { p..
[프로그래머스][JAVA]Lv. 2 - k진수에서 소수 개수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어떤 양의 정수 n을 k진수로 바꿨을 때, 조건에 맞는 소수가 몇 개인지를 구하는 문제 while(n > 0) { remainder = n % k; n = n / k; sb.append(remainder); } sb.reverse(); 먼저 n을 k진수로 바꾸어 주었다 String s = sb.toString(); String[] st = s.split("0"); for (int i = 0; i ..
[프로그래머스][JAVA]Lv. 2 - n^2 배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n^2인 배열을 잘라 1차원 배열로 만들고 left와 right사이를 잘라서 리턴하는 문제 import java.util.ArrayList; import java.util.Arrays; class Solution { public int[] solution(int n, long left, long right) { int[] arr = new int[(int) (right-left+1)]; long ..
[프로그래머스][JAVA]Lv. 2 - 피로도 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가지고 있는 피로도 k와 dungeons{최소 필요 피로도, 소모 피로도}를 가지고 최대한으로 탐험할 수 있는 던전을 찾기 완전탐색으로 찾기 위해 dfs를 이용하여 문제를 해결하였다. class Solution { static int max = 0; public int solution(int k, int[][] dungeons) { boolean[] visit = new boolean[dungeo..
[프로그래머스][JAVA]Lv. 2 - 모음사전 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { static int answer = 0; static char[] st = {'A','E','I','O','U'}; public int solution(String word) { answer = 0; dfs(word, ""); return answer; } public boolean dfs(String word, String makeWord) { if (makeWor..
[프로그래머스][JAVA]Lv. 2 - 2개 이하로 다른 비트 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.Arrays; class Solution { public long[] solution(long[] numbers) { long[] answer = new long[numbers.length]; for (int i = 0; i < numbers.length; i++) { answer[i] = func(numbers[i]); } return answer; } static..
[프로그래머스][JAVA]Lv. 2 - 행렬 테두리 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정해진 범위(queries 배열)의 테두리를 시계방향으로 회전시키며, 그중 가장 작은 값을 찾는 문제 처음에 전체 1~정해진 크기 만큼의 배열을 만들어 줄다음 맨 처음 시작점인 좌상단 그 아래 (plate[s1 + 1][s2])를 첫 tmp로 하여 회전 방향에 따라 수들을 교체하였다 그리고 그중 가장 작은 값을 찾아 회전 종료 시에 answer에 추가되도록 하였다 import java.util.A..