Algorithms 16

[프로그래머스][Lv2][Java] 귤 고르기

📌 문제 귤 고르기 - lv2 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 알고리즘 보다는 문제의 제약조건 내용대로 구현 하는 문제 고르기로 한 개수인 k개 만큼 고르기 위해 필요한 각 귤의 개수를 알아야 한다. ➡️ 이를 위해 Map 을 사용해야 함 Map을 만든 후에는 key-value 에서 value 값에 따라 내림차순 정렬(❗️가장 개수가 많은 귤부터 차감해야 함) 내림차순으로 차감하여 귤을 k개 만큼 다 골랐을 시점이 서로 다른 귤의 종류가 최소일 때이다. 📌 코드 import java.util.*; class Solution { pu..

[프로그래머스][Java] 기사단원의 무기

📌 문제 프로그래머스 - 기사단원의 무기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 numbers 의 숫자들마다 약수의 개수를 구하고 구한 약수의 개수를 정답 리스트에 담는다. 이 때 limit 보다 약수의 개수가 크다면 power 의 공격력 수치로 그 값을 대체한다. 리스트에 담긴 값들의 합을 return 한다. 📌 코드 import java.util.List; import java.util.ArrayList; import java.util.IntSummaryStatistics; class Solution { public int soluti..

[프로그래머스][Java] 명예의 전당 (1)

문제 [명예의 전당 (1)] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ❗️알고리즘을 굳이 생각하지 않아도 문제의 규칙대로 구현하면 되는 구현 문제 ❗️명예의 전당에 등록할 수 있는 수만큼 점수를 등록하면서 명예의 전당 리스트 사이즈가 == k 일때 가장 작은 최소 점수와 비교대상인 score[i] 점수보다 크냐 작냐에 따라 다른 규칙을 실행하면 됩니다. 코드 import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Collections;..

[프로그래머스] 문자열 나누기 - Java

문제 문자열 나누기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제의 규칙대로 구현하면 되는 구현 문제 반복문을 통해 돌리면서 첫번째 글자와 문자열들을 비교해 나간다. 첫 번째 글자와 같은 글자 수 세기 첫 번째 글자와 다른 글자 수 세기 코드 class Solution { public int solution(String s) { int answer = 0; // 정답 char first_character = s.charAt(0); // 첫 번째 문자 int same_count = 0; //첫 번째 글자와 같은 글자 수 세기 int diff_co..

[프로그래머스][Java] 가장 가까운 같은 글자

문제 프로그래머스 - 가장 가까운 같은 글자 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 answer 가 초기에는 int[] 로 초기화 되어있지만 값을 넣기 편하게 List 로 만들어서 사용 String 배열에 값을 구해야 하는 String 낱말 별로 넣어두기 Ex.)['b','a','n','a','n','a'] ❗️split 함수는 배열에서만 사용 가능 tempList 를 만들어서 해당하는 낱말이 없으면 -1을 answer에 넣고 있으면 인덱스값을 계산해서 answer에 넣어준다. 마지막으로 answer를 다시 int[] 로 변환 ➡️ Strea..

[프로그래머스][Java] 크기가 작은 부분 문자열

문제 프로그래머스 - 크기가 작은 부분 문자열 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 String p 의 길이 length_p 를 저장 문자열 t 에서 len 만큼 잘라서 long 타입으로 저장 (int 는 값이 작아 오류 발생) ❗️for문으로 순회하면서 substring ➡️ 인덱스 넘어가지 않도록 주의 String p를 Long 타입으로 변환 후, 작거나 같으면 answer 값 증가 코드 import java.util.ArrayList; import java.util.List; class Solution { public int solut..