본문 바로가기

분류 전체보기62

[프로그래머스 - Java] Lv.0 최빈값 구하기 문제 풀이import java.util.*;class Solution { public int solution(int[] array) { HashMap countMap = new HashMap(); int maxKey = -1; int maxCount = 0; for(int number : array){ countMap.put(number, countMap.getOrDefault(number, 0) + 1); if(maxCount  메모 여기서 문제의 포인트는 HashMap이라고 생각한다. array의 원소가 1000까지이기 때문에new int[1000]으로 배열을 만들어서 각 .. 2025. 3. 17.
[프로그래머스 - Java] Lv.0 중앙값 구하기 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이import java.util.*;class Solution { public int solution(int[] array) { Arrays.sort(array); return array[array.length/2]; }} 메모 배열을 정렬한 다음 가운데 인덱스를 반환하면 된다. 인덱스는 항상 홀수라면개수가 1개라면 0번 인덱스를,개수가 3개라면 1번 인덱스를,개수가 5개라면 2번 인덱스를 반환하면 된다. 이 인덱스는 개수를 나눈 값에서 소수점을 버림하면 된다.array.length/2는 int형이기 때문에 자.. 2025. 3. 17.
[프로그래머스 - Java] Lv.0 나머지 구하기 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이class Solution { public int solution(int num1, int num2) { return num1 % num2; }} 메모 num1%num2를 새로운 변수를 생성하여 저장하지 않고바로 return할 수 있다. 2025. 3. 17.
[프로그래머스 - Java] Lv.0 배열 두배 만들기 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 - for문import java.util.*;class Solution { public int[] solution(int[] numbers) { int[] answer = new int[numbers.length]; for(int i=0; i 풀이 - Stream APIimport java.util.*;class Solution { public int[] solution(int[] numbers) { return Arrays.stream(numbers) .m.. 2025. 3. 13.
[프로그래머스 - Java] Lv.0 분수의 덧셈 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 - 브루트포스 방법class Solution { public int[] solution(int numer1, int denom1, int numer2, int denom2) { int[] answer = new int[2]; answer[0] = denom2*numer1 + denom1*numer2; answer[1] = denom1*denom2; int gcd = 1; for(int i = Math.min(answer[0],answer[1]); i>.. 2025. 3. 13.
[프로그래머스 - Java] Lv.0 숫자 비교하기 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이class Solution { public int solution(int num1, int num2) { return num1==num2 ? 1 : -1; }} 메모 if문을 사용하여 풀 수 있지만, 삼항 연산자를 사용하면 가독성이 좋다.삼항연산자는 (조건문) ? (true일 때 반환값) : (false일 때 반환값) 형태이다. 2025. 3. 13.
[프로그래머스 - Java] Lv.0 두 수의 나눗셈 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1차 풀이class Solution { public int solution(int num1, int num2) { return (int)((double)num1/num2*1000); }} 최종 풀이class Solution { public int solution(int num1, int num2) { return num1*1000/num2; }} 메모 문제 예시에서 num1을 num2로 나눈 후, 1000을 곱하였다.하지만 순서를 바꾸면 형변환을 하지 않고 풀 수 있다. 2025. 3. 13.
[프로그래머스 - Java] Lv.0 몫 구하기 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이class Solution { public int solution(int num1, int num2) { return num1/num2; }} 메모 1️⃣ int와 int의 연산int와 int를 연산하면 int형으로 반환한다.나누기 연산의 경우 소수점은 모두 버려진다. (버림 연산) 2️⃣ int와 double의 연산int와 double을 연산하면 double으로 반환된다.int가 아닌 double로 반환되는 이유는double(64비트)이 int(32비트)보다 메모리 크기가 크기 때문이다. 3️⃣자료형 변환 규칙메모리 크기가.. 2025. 3. 13.
[프로그래머스 - Java] Lv.0 두 수의 곱 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이class Solution { public int solution(int num1, int num2) { return num1*num2; }} 메모 num1*num2를 새로운 변수를 생성하여 저장하지 않고바로 return할 수 있다. 2025. 3. 13.