2025/06 5

프로그래머스 문제(JAVA) / 피자 나눠 먹기(2)

[문제]머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. [해석]1. 6 * 피자 판 수 / n 일때 나머지가 0인 피자 판수 구하면 되겠다.2. 1번을 위해서 while 문으로 조건 만족하는 피자판수(a) 구하기. [풀이]class Solution { public int solution(int n) { int a = 1; while((6*a)%n !=0){ //나머지가 0일때 종료 a++; } return..

알고리즘 2025.06.23

프로그래머스 문제(JAVA) / 최빈값 구하기

[문제]최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. [해석]1. 값마다 횟수 저장하기.2. 저장한 횟수들 비교하며 최빈값 변수 저장하기.3. 횟수가 같다면 -1 출력하기. [풀이]import java.util.*;class Solution { public int solution(int[] array) { int maxCount = 0; int answer = 0; Map countMap = new HashMap(); for(int number: array){ ..

알고리즘 2025.06.20

알고리즘프로그래머스 문제(JAVA) / 분수의 덧셈 / 유클리드 호제법

[문제]첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. [해석]1. 유클리드 호제법 사용해서 최대공약수 구하기.(재귀함수)2. 통분 실행.3. 최종 분수에서 구한 최대공약수 적용하기. (통분한 분자, 분모에 최대공약수로 나누면 바로 기약분수가 된다.) class Solution { public int gcd(int denom1, int denom2) { if (denom1 % denom2 == 0) return denom2..

알고리즘 2025.06.18

프로그래머스 문제(JAVA) / 배열 두 배 만들기

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. [해석]1. 새 리스트 만들기 - 크기는 입력받은 numbers 배열 길이만큼.2. 만든 리스트에 for 문으로 같은 위치에 2배한 원소 넣기. class Solution { public int[] solution(int[] numbers) { int[] answer = new int[numbers.length]; for(int i=0; i ~통과~ https://school.programmers.co.kr/learn/challenges/beginner?order=acceptance_desc 코딩테스트 ..

알고리즘 2025.06.16