본문 바로가기

==4. 프로그래머스 & 코테문제==/Java 문제 풀이26

[Java/백준 GOLD 5] 25556번: 포스택 문제링크 [https://www.acmicpc.net/problem/25556] 풀이 Git링크[ github ] 문제 설명포닉스는 길이가 N인 순열 A와 네 개의 비어 있는 스택을 가지고 있다.길이가 N인 순열이란, 1 이상 N 이하의 서로 다른 정수 N개가 임의로 나열된 수열을 말한다.스택이란 자료구조의 한 종류로 가장 나중에 삽입한 자료가 가장 먼저 나오는 후입선출 (Last In First Out, LIFO)의 특성을 가지고 있다.포닉스는 PPC를 맞아 더러워진 순열을 청소하려 한다.순열 A의 원소들을 앞 원소부터 순서대로 네 개의 스택 중 하나에 삽입한다.순열 A의 모든 원소를 스택에 삽입했다면, 네 개 중 원하는 스택에서 수를 꺼내는 것을 반복하여 네 개의 스택에서 모든 수를 꺼낸다.꺼낸 수들.. 2024. 11. 25.
[Java/프로그래머스 LV.1] 위클리 챌린지/부족한 금액 계산하기 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/82612?language=java 풀이 Git링크 [GitHub] 문제설명새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다.즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.단, 금액이 부족하지 않으면 0을 return 하세요.제한사항놀이기구의 이용료 price : 1 ≤ price.. 2024. 11. 18.
[Java/프로그래머스 LV.1]연습문제/ 핸드폰 번호 가리기 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/12948?language=java Git링크[github.com] 문제설명프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.제한사항phone_number는 길이 4 이상, 20이하인 문자열입니다.풀이뒷자리 4개만 잘라낸 후에 잘려나간 길이만큼 *을 추가하였습니다! class Solution { public String solution(String phone_number).. 2024. 10. 16.
[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.
728x90