[Java] 프로그래머스 코딩테스트 - 할인 행사 (해시)
문제 설명 XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다. 예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 14일간 회원을 대상으로 할인하는 제품이 날짜 순서대로 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, 바나나, 사과, 바나나인 경우에 대해 알아봅시다. 첫째 날부터 열흘 간에는 냄비가 할인하지 않기 때문에 첫..
2024. 8. 15.
[Java] 프로그래머스 코딩테스트 - 두 개의 수로 특정값 만들기 (해시)
문제 설명n개의 양의 정수로 이루어진 배열 arr와 정수 target이 주어졌을 때 이 중에서 합이 target인 두 수가 arr에 있는지 찾고, 있으면 true, 없으면 false를 반환하는 solution() 함수를 작성하세요. 제한 조건n 은 2 이상 10,000 이하의 자연수입니다.arr 의 각 원소는 1 이상 10,000 이하의 자연수입니다.arr 의 원소 중 중복되는 원소는 없습니다.target 은 1 이상 20,000 이하의 자연수입니다. 입출력 예arrtargetreturn[1, 2, 3, 4, 8]6true[2, 3, 5, 9]10false 코드import java.util.*;class Solution { public boolean solution(int[] arr ,int ..
2024. 8. 15.
[Java] 프로그래머스 코딩테스트 - 괄호 회전하기 (스택)
문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다.(), [], {} 는 모두 올바른 괄호 문자열입니다.만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다.만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다.대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x (0 ≤ x 제한사항s의 길이는 1 이상 1,000 이하입니다. 입출력 예sresult"[](){}"3"}]()[{"2..
2024. 8. 12.