목록LV2 (37)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 진법, 구할 숫자의 수, 참가 인원 수, 튜브의 순서가 주어진다. 정수를 0부터 점점 늘려가며, 주어진 진법으로 변환한 숫자를 한 문자씩 참가 인원들이 말한다. 튜브가 구할 숫자의 수 만큼 말하면 해당 문자열을 반환한다. 🔸 문제 풀이 🔸 숫자를 0부터 늘려가며 튜브가 t번 말할 때 까지 계산을 반복한다. 현재 숫자를 n진법으로 변환 뒤, 한 글자씩 인원 순서대로 말한다. 현재 인원이 튜브이면 기록한다. 기록 된 문자열을 반환한다. 🔸 코드 🔸 class Solution { pu..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 압축 알고리즘인 LZW를 구현하는 문제이다. 알고리즘 설명에 따라 문자열 처리를 수행하는 문제이다. 알파벳 대문자만 입력으로 주어진다. 🔸 문제 풀이 🔸 색인되는 문자열들은 그 값을 리스트에 저장한다. 색인되지 않는 문자열을 새롭게 추가한다. 리스트의 값을 반환한다. 🔸 코드 🔸 import java.util.Map; import java.util.HashMap; import java.util.List; import java.util.ArrayList; class Solution..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 입력받은 정수 n을 k진수로 변환 뒤 0으로 구분해 나온 값들 중 소수의 개수를 반환한다. 🔸 문제 풀이 🔸 먼저 k진수 변환 및 0으로 잘라 문자열 배열을 생성한다. 배열의 문자 하나씩 소수인지 판별한다. 🔸 코드 🔸 class Solution { public int solution(int n, int k) { // 진수 변환 & 0으로 구분 String[] ss = Integer.toString(n, k).split("0+"); // 소수 판별 int answer = 0; f..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 자카드 유사도를 구현하기 위해 교집합과 합집합을 구현하는 문제이다. 주어진 두 문자열의 파싱이 필요하다. 🔸 문제 풀이 🔸 두 문자열의 대소문자를 구분하지 않으므로, 대문자 혹은 소문자로 일치시킨다. 2문자씩 잘라서 원소로 사용하는데, 띄어쓰기나 특수문자 등 알파벳이 아닌 문자가 포함되어있으면 배제한다. 여기서 주의 할 점은 알파벳이 아닌 문자들을 제거하고 2문자씩 자르는게 아닌, 먼저 자른다음 필터링 하는 순서이다. 중복을 허용하는 다중 집합이기 때문에 Map에 개수와 함께 저..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 큐에서 앞 원소를 꺼낸다. (poll) 꺼낸 원소보다 우선순위가 더 높은 원소가 있다면, 꺼낸 원소를 다시 큐에 넣는다. (add) 우선순위대로 원소를 꺼내다가 처음 위치가 location인 원소가 나올 때의 꺼낸 원소 수를 반환한다. 🔸 문제 풀이 🔸 원소들의 우선순위와 처음 위치를 기억하기위해 두 요소를 담은 클래스 Process를 만들어 Queue에 저장한다. 우선순위대로 꺼내기 위해 PriorityQueue에 원소를 저장한다. 우선순위 큐에 나온 원소와 같은 원소가 나올 ..