[프로그래머스, Java][1차] 다트 게임
·
CodingTest/Programmers
💡풀이import java.util.Arrays;class Solution { public int solution(String dartResult) { // 점수(숫자)만 뽑아 int[]로 변환 int[] numbers = Arrays.stream(dartResult.split("[^0-9]")) // 숫자가 아닌 문자로 split .filter(e -> !e.isBlank()) // 빈 토큰 제거 .mapToInt(Integer::parseInt) // int 변환 .toArray(); // 점수를 제외한 옵션(S·D·T·*·#)만 String[]..
[프로그래머스, 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] 약수의 개수를 구하는 ..