본문 바로가기

4.2 프로그래머스 & 코테문제/Java 풀이23

[Java/프로그래머스 LV.1]월간 코드 챌린지 시즌3/없는 숫자 더하기 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/86051풀이 Git링크github문제설명0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.제한사항1 ≤ numbers의 길이 ≤ 90 ≤ numbers의 모든 원소 ≤ 9numbers의 모든 원소는 서로 다릅니다.풀이Sort를 해서 할까 했는데 모든 원소는 다 다르다고 하였다는 제한사항에서전체합에서 나오는 족족 그냥 다 빼자 라는 생각을 하였습니다만약 다 다르다고 없었다면 해당 값을 인덱스로 사용해서 카운트를 했을 것 같습.. 2024. 10. 2.
[Java/프로그래머스 LV.1] 월간 코드 챌린지 시즌2/음양 더하기 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/76501 풀이 Git링크https://github.com/ 문제설명어떤 정수들이 있습니다.이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다.실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.제한사항absolutes의 길이는 1 이상 1,000 이하입니다.absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.signs의 길이는 absolutes의 길이와 같습니다.signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수.. 2024. 9. 30.
[Java/프로그래머스 LV.1] Greedy/ 체육복 https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=java 문제설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다.체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 .. 2024. 9. 28.
[Java/프로그래머스 LV.1] 콜라츠 추측 링크 문제설명1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한사항입력된 수.. 2024. 9. 26.
[Java/프로그래머스 LV.1] 두 정수 사이의 합 https://school.programmers.co.kr/learn/courses/30/lessons/12912 문제설명두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.제한사항a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.a와 b의 대소관계는 정해져있지 않습니다.풀이해당 문제는 a와 b의 대소관계가 정해져 있지 않다는 점을 고려해야합니다제가 생각한 풀이는1. min과 max를 구분하거나2. a를 b를 향하게 만든다 였습니다 2번을 선택하고 풀이를 하였고a가 b를 향.. 2024. 9. 19.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/배열의 원소 삭제하기 https://school.programmers.co.kr/learn/courses/30/lessons/181844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  문제설명정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ arr의 길이 ≤ 1001 ≤ arr의 원소 ≤ 1,000arr의 원소는 모두 서로 다릅니다.1 ≤ delete_list의 길이 ≤ 1001 ≤ de.. 2024. 8. 10.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/문자열을 정수로 변환하기 https://school.programmers.co.kr/learn/courses/30/lessons/181848?language=java 문제설명숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return하도록 solution 함수를 완성해주세요.제한사항1 ≤ n_str ≤ 5n_str은 0부터 9까지의 정수 문자로만 이루어져 있습니다.풀이 이문제는 단순하게 푸는 문제라 준비해봤습니다. class Solution { public int solution(String n_str) { return Integer.parseInt(n_str); }}  들어간 메소드 정리Integer.parseInt(String) 문자열을 int로 변환 다른언어 풀이 [C#.. 2024. 8. 3.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/181872  문제설명문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.제한사항5 ≤ myString ≤ 201 ≤ pat ≤ 5pat은 반드시 myString의 부분 문자열로 주어집니다.myString과 pat에 등장하는 알파벳은 대문자와 소문자를 구분합니다.풀이이문제는 문자열을 뒤에서 부터 해당 문자열을 찾아서 인덱스를 리턴후 문자열을 자르기하면 되는 문제입니다! 1. 단순구현class Solution { public String solution(String myS.. 2024. 7. 23.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/ ad 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/181870 문제설명문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요.제한사항 1 ≤ strArr의 길이 ≤ 1,0001 ≤ strArr의 원소의 길이 ≤ 20strArr의 원소는 알파벳 소문자로 이루어진 문자열입니다.풀이  import java.util.ArrayList;class Solution { public String[] solution(String[] strArr) { ArrayList answer = new.. 2024. 7. 22.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/왼쪽 오른쪽 https://school.programmers.co.kr/learn/courses/30/lessons/181890# 문제설명문자열 리스트 str_list에는 "u", "d", "l", "r" 네 개의 문자열이 여러 개 저장되어 있습니다. str_list에서 "l"과 "r" 중 먼저 나오는 문자열이 "l"이라면 해당 문자열을 기준으로 왼쪽에 있는 문자열들을 순서대로 담은 리스트를, 먼저 나오는 문자열이 "r"이라면 해당 문자열을 기준으로 오른쪽에 있는 문자열들을 순서대로 담은 리스트를 return하도록 solution 함수를 완성해주세요. "l"이나 "r"이 없다면 빈 리스트를 return합니다.제한사항1 ≤ str_list의 길이 ≤ 20str_list는 "u", "d", "l", "r" 네 개의 문자.. 2024. 7. 8.
728x90