반응형

Level 1 49

[프로그래머스] 완주하지 못한 선수 - JAVA

프로그래머스 완주하지 못한 선수 - JAVA 문제 설명 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 retrun. 제한 사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 문제 풀이 참가자 중 완주자를 빠르고 효율적으로 찾기 위해 Hash를 사용. 동명이인이 존재하기 때문에 HashMap을 사용하여 동명이인의 수를 저장. 참가자 이름과 숫자(동명이인 수)를 HashMa..

[프로그래머스] 음향 더하기 - JAVA

프로그래머스 음향 더하기 - JAVA 문제 설명 정수들의 절대값을 차례대로 담은 정수 배열 abolutes와 이 정수들의 부로흘 차례대로 다음 불리어 배열 signs가 매개변수로 주어짐. 실제 정수들의 함을 구하여 return. 제한 사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 소스 코드 class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for..

[프로그래머스] 로또의 최고 순위와 최저 순위 - JAVA

프로그래머스 로또의 최고 순위와 최저 순위 - JAVA 문제 설명 로또에 낙서가 되어 일부 번호를 알아볼 수 없게 되었음. 알아볼 수 없는 번호를 0으로 표기, 당첨 가능한 최고 순위와 처저 순위를 배열에 담아 return. 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수로 주어짐. 제한 사항 lottos는 길이 6인 정수 배열입니다. lottos의 모든 원소는 0 이상 45 이하인 정수입니다. 0은 알아볼 수 없는 숫자를 의미합니다. 0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다. lottos의 원소들은 정렬되어 있지 않을 수도 있습니다. win_nums은 길이 6인 정수 배열입니다. win_nums의 모든 원소는 1 이상 45 이하..

[프로그래머스] 모의고사 - JAVA

프로그래머스 모의고사 - JAVA 문제 설명 수포자 삼인방은 모의고사에서 수학 문제를 전부 찍으려 한다. 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어진다. 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 retrun. 제한 조건 시험은 최대 10,000 문제로 구성되어있습니다. 문제의 정답은 1, 2, 3, 4, 5중 하나입니다. 가장 높은 점수를 받은 사람이 여럿일 경우, return하는 값을 오름차순 정렬해주세요. 문제 풀이 수포자 삼인방이 찍는 방식의 반복되는 패천을 찾아 저장. 수포자 별로 answers에서 몇개의 정답을 맞힌지 저장. 가장 많이 맞힌 점수를 찾음. 가장 많은 문제를 맞힌 사람이 누구인지 리스트에 저장 배열에 담아 return 소스 코드 im..

[프로그래머스] 소수 만들기 - JAVA

프로그래머스 소수 만들기 - JAVA 문제 설명 숫자들이 들어있는 배열 nums가 매개변수로 주어짐. nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 문제 풀이 에라스토테네스의 체를 사용하여 3000까지 숫자의 소수 유무를 저장. dfs탐색을 사용하여 3개의 수의 모든 조합을 탐색. 조합의 숫자를 더했을 떄 소수가 되는 걍우 answer를 1증가. 소스코드 import java.util.*; class Solution { public int answer = 0; public boolea..

[프로그래머스] 없는 숫자 더하기 - JAVA

프로그래머스 없는 숫자 더하기 - JAVA 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어짐. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 retrun. 제한 사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 수 ≤ 9 numbers의 모든 수는 서로 다릅니다. 문제 풀이 0부터 9까지 모두 더한 수인 45에서 numbers에 존재하는 숫자를 빼면 존재하지 않는 수를 모두 더한 값과 동일. 소스 코드 class Solution { public int solution(int[] numbers) { int answer = 45; for (int n : numbers) { answer -= n; } return ans..

[프로그래머스] 수박수박수박수박수박수? - JAVA

프로그래머스 수박수박수박수박수박수? - JAVA 문제 설명 길이가 n이고, &#39;수박수박수박수...&#39;와 같은 패턴을 유지하는 문자열을 리턴. 제한 조건 n은 길이 10,000이하인 자연수. 소스 코드 class Solution { public String solution(int n) { StringBuilder answer = new StringBuilder(); for (int i = 0; i < n; i++) { answer.append(i % 2 == 0 ? "수" : "박"); } return answer.toString(); } }

[프로그래머스] 문자열 다루기 기본 - JAVA

프로그래머스 문자열 다루기 기본 - JAVA 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성되어있는지 확인. 1의 조건 성립 시 True, 성립하지 않을 시 False를 리턴. 제한 사항 s는 길이 1 이상, 길이 8이하 문자열. 소스 코드 class Solution { public boolean solution(String s) { if (s.length() != 4 && s.length() != 6) { return false; } for (char c : s.toCharArray()) { if (!Character.isDigit(c)) { return false; } } return true; } }

반응형