목록Argorithm (78)
빙응의 공부 블로그

📝풀이 보자마자 스트림으로 풀면 좋겠다고 생각했다. 사실상 팩토리얼 계산이랑 비슷한 느낌으로 갔다. import java.util.stream.LongStream; class Solution { public long solution(int price, int money, int count) { long total_price = LongStream.rangeClosed(1, count) .map(i -> price * i) .sum(); return Math.max(total_price - money, 0); } }

📝풀이 수납에는 눕혀서도 가능하므로 가로 길이 세로길이는 의미가 없다 그러므로 한쪽에 큰 것을 몰아두는 방식으로 하였다. class Solution { public int solution(int[][] sizes) { for(int i = 0; i < sizes.length;i++){ if(sizes[i][0] < sizes[i][1]){ int temp = sizes[i][0]; sizes[i][0] = sizes[i][1]; sizes[i][1] = temp; } } int MAX1 = 0; int MAX2 = 0; for(int i = 0; i

📝풀이 일단 제일 먼저 생각한 것은 메시지를 날리기 위한 신고한 사람 저장하는 자료구조 신고 당한 횟수를 저장하는 자료 구조 를 생각하였다. 빠르게 찾고 저장하기 좋은 것을 선택하여야 했는데 메시지를 날리기 위한 신고한 사람 저장하는 것은 해쉬맵 안에 ArrayList를 넣어서 구현하였고 신고 당한 횟수는 그냥 해쉬맵을 사용하였다. import java.util.ArrayList; import java.util.HashMap; class Solution { public int[] solution(String[] id_list, String[] report, int k) { ArrayList report_List; HashMap count_Map = new HashMap(); HashMap id_Map =..

📝풀이 성격 유형 검사에 따른 점수 처리 내가 가장 알맞다고 생각한 것은 해쉬맵을 이용한 키-값 형식이였다. 성격 유형에 맞춰 키 값으로 해결한 다음 삼항 연산자를 이용해서 정렬하여 정답을 출력하였다. 간단한 문제~ import java.util.HashMap; class Solution { public String solution(String[] survey, int[] choices) { String[] surveyArr = {"R","T","C","F","J","M","A","N"}; HashMap map = new HashMap(); String answer = ""; for(String sur:surveyArr) //해쉬맵 초기화 map.put(sur,0); for(int i = 0; i < c..

📝풀이 구현 자체는 매우 쉬운 문제였다. 그게 문제가 아니지만.. x와 y의 중복되는 자리 짝꿍 찾기 찾은 짝궁 sort로 정렬해 가장 큰 값으로 만들기 class Solution { public String solution(String X, String Y) { List answer = new ArrayList(); for (int i = 0; i < Y.length(); i++) { char yChar = Y.charAt(i); for (int j = 0; j < X.length(); j++) { char xChar = X.charAt(j); if (xChar == yChar) { answer.add(Character.getNumericValue(xChar)); X = X.substring(0, j)..

📝풀이 매우 간단한 반복문 문제 class Solution { public int solution(int a, int b, int n) { int answer = 0; while(n>=a){ answer += n/a; n = ((n/a) * b) + (n%a); } return answer; } } 반복은 가진 빈병 수가 바꿀 수 있는 수보다 작을 때까지 빈병을 받은 콜라수 + 남은 빈병으로 초기화하면 된다. 너무 쉬워서 설명할 것도 없다...