본문 바로가기

전체 글

(75)
[프로그래머스][JAVA]Lv. 2 - 이모티콘 할인행사 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이모티콘 플러스 가입자와 이모티콘 판매액을 비교하여 주어진 기준에 따라 최대한의 목적을 달성한 매출액을 정답으로 제출하는 문제List와 Queue를 이용, 할인된 가격의 합과 이모티콘 플러스의 가격을 비교하면서 정답을 구했다import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;..
[프로그래머스][JAVA]Lv. 2 - 마법의 엘리베이터 https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼으로만 작동하는 엘리베이터를 0층으로 가기 위한 최소한의 횟수를 구하는 문제 class Solution { public int solution(int storey) { int answer = 0; String s = 0+String.valueOf(storey); Stri..
[프로그래머스][JAVA]Lv. 2 - 테이블 해시 함수 https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 조건에 맞게 구현을 하면 되는 문제였다 Arrays.sort(data, (o1, o2) -> { if (o1[col-1] == o2[col-1]) { return o2[0] - o1[0]; } return o1[col-1] - o2[col-1]; }); 2번 조건을 만족하기 위해 오른차순으로 정렬, 키 값이 동일하면 내림차순으로 정렬 ArrayList mods = new ArrayList..
[프로그래머스][JAVA]Lv. 2 - 디펜스 게임 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 라운드 중에서 가능한 효율적으로 무적권을 활용하여 방어를 할 수 있는 라운드를 구하는 문제 import java.util.PriorityQueue; class Solution { public int solution(int n, int k, int[] enemy) { int answer = 0; PriorityQueue pq = new PriorityQueue(); for (int i = 0; i..
[프로그래머스][JAVA]Lv. 2 - 점 찍기 https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 d만큼의 최대 거리가 주어지고 a*k, b*k식으로 떨어지는 위치에 찍힌 점의 개수를 구하는 문제 class Solution { public long solution(int k, int d) { long answer = 0; for (int i = 0; i
[프로그래머스][JAVA]Lv. 2 - 귤 고르기 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 크기의 종류가 최소인 경우를 구하는 문제 for (int i : tangerine) { map.put(i, map.getOrDefault(i, 0) + 1); } for (int i : map.keySet()) { al.add(map.get(i)); } al.sort(Collections.reverseOrder()) HashMap을 이용하여 종류별 개수를 구해주었다 그리고 ArrayList에 해..
[프로그래머스][JAVA]Lv. 2 - 숫자 카드 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두개의 그룹에서 한 그룹의 적힌 모든 숫자를 나눌 수 있고 다른 그룹이 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a를 구하고 구할 수 없다면 0을 출력하는 문제 public int gcd(int a, int b) { int r = a % b; if (r == 0) return b; return gcd(b, r); } 먼저 유클리드 호제법을 이용하여 배열 arrayA의 ..
[프로그래머스][JAVA]Lv. 2 - 혼자 놀기의 달인 https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1~n까지의 숫자를 가진 카드를 상자 하나씩에 넣고 섞은 뒤에 일렬로 놓았을 때, 상자 안에 있는 카드를 확인하고 그 숫자의 순서를 가진 상자 안에 있는 카드를 확인하는 행위를 반복하는 문제 그렇게 반복하여 이미 열려 있는 상자가 지목되었을 때, 여태 열린 상자를 1번 그룹으로 하고 남은 카드 상자를 다시 임의의 상자를 골라 위의 행위를 반복한다 이 과정에서 1번 그룹 이외의 상자가 남지 않는다..