[프로그래머스, Java][PCCE 기출문제] 9번 / 지폐 접기
·
CodingTest/Programmers
💡풀이class Solution { public int solution(int[] wallet, int[] bill) { // 지갑의 긴 변과 짧은 변 int width = Math.max(wallet[0], wallet[1]); int height = Math.min(wallet[0], wallet[1]); int answer = 0; // 접는 횟수 while (true) { // 현재 크기로 지갑에 들어가면 종료 if (width >= Math.max(bill[0], bill[1]) && height >= Math.min(bill[0], bill[1])) {..
[프로그래머스, Java] 실패율
·
CodingTest/Programmers
💡풀이import java.util.Comparator;import java.util.HashMap;import java.util.Map;class Solution { public int[] solution(int N, int[] stages) { Map clears = new HashMap(); // 각 스테이지에 도달한 사람 수 Map fails = new HashMap(); // 각 스테이지에서 실패한 사람 수 // 도달자 수와 실패자 수 계산 for (int stage : stages) { fails.put(stage, fails.getOrDefault(stage, 0.0) + 1); // 해당 스테이지에서 실패 ..
[프로그래머스, Java] 옹알이 (2)
·
CodingTest/Programmers
💡풀이import java.util.Arrays;class Solution { public int solution(String[] babbling) { // 발음할 수 있는 단어 목록 String[] canBabbles = {"aya", "ye", "woo", "ma"}; for (int i = 0; i 💡풀이 2- 두번 연속으로 발음하는 케이스를 먼저 체크하고 반복문 순회하기import java.util.Arrays;class Solution { public int solution(String[] babbling) { String[] speak = {"aya", "ye", "woo", "ma"}; String[] speakTw..
[프로그래머스, Java] 소수 만들기
·
CodingTest/Programmers
💡풀이import java.util.ArrayList;import java.util.List;class Solution { public int solution(int[] nums) { int count = 0; for (int a = 0; a 📖새로 배운 부분- 약수의 개수를 구하는 효율적인 알고리즘 정리 글 [Java] 약수의 개수를 구하는 효율적인 알고리즘 정리약수 구하기 알고리즘코딩테스트나 알고리즘 문제를 풀다 보면 약수를 구하는 문제를 자주 만나게 됩니다하지만 큰 수의 경우 비효율적인 로직으로 인해 시간 초과에 부딪히는 경우가 다반사devoks.tistory.com GitHub - okjunghyeon/Programmers_CodingTest: ..
[프로그래머스, Java] 소수 찾기
·
CodingTest/Programmers
💡풀이import java.util.stream.IntStream;class Solution { public int solution(int n) { return (int) IntStream.rangeClosed(2, n) .filter(this::isPrimeNumber) .count(); } boolean isPrimeNumber(int n) { for (int i = 2; i 💡풀이 2📖새로 배운 부분- 어떤 수의 약수들은 항상 쌍을 이루기 때문에분기점이 되는 해당 수의 제곱근까지만 약수를 구하고 한쌍의 약수를 함께 count 해주면 된다. 💡해당 내용을 정리한 글 [Java] 약수의 개수를 구하는 ..
[프로그래머스, Java] 과일 장수
·
CodingTest/Programmers
💡풀이import java.util.Arrays;class Solution { public int solution(int k, int m, int[] score) { // 1. 오름차순 정렬 Arrays.sort(score); int total = 0; // 2. 뒤에서 부터 m개씩 새기 for (int i = score.length - m; i >= 0; i -= m) { /* * 오름차순 정렬이 되어있으므로 m개씩 자른 순서의 첫번째 숫자(i)가 가장 작은 수 * 즉 i 번째 수를 m 번 곱하면 해당 박스의 금액이 나옴 * */ ..