본문 바로가기

728x90

프로그래머스(Java)/Level 2

(51)
[프로그래머스] 올바른 괄호 문제 풀이 힌트문제 이해:주어진 문자열 s가 올바른 괄호 문자열인지 확인하는 문제입니다.올바른 괄호 문자열이란 모든 괄호가 짝을 이루고, 올바른 순서로 배치된 문자열을 의미합니다.자료구조 선택:이 문제에서는 스택(Stack)을 사용하여 괄호의 짝을 맞추는 작업을 효율적으로 처리할 수 있습니다.스택은 LIFO(Last In First Out) 자료구조로, 가장 최근에 삽입된 원소가 가장 먼저 제거됩니다.알고리즘:문자열의 각 문자를 순회하면서 스택을 사용하여 괄호를 처리합니다.여는 괄호 '('는 스택에 넣고, 닫는 괄호 ')'는 스택의 최상단이 여는 괄호 '('인지 확인하여 짝이 맞으면 스택에서 제거합니다.문자열을 모두 순회한 후 스택이 비어 있으면 모든 괄호가 짝을 이룬 것이고, 비어 있지 않으면 짝이 맞..
[프로그래머스] 최댓값과 최솟값 Java로 문자열에서 최솟값과 최댓값 구하기 문제 설명주어진 문자열 s는 공백으로 구분된 숫자들로 이루어져 있습니다.이 문자열에서 숫자들을 분리하여 최솟값과 최댓값을 찾아 출력하는 것이 목표입니다.코드 설명아래는 최솟값과 최댓값을 찾는 solution 메서드의 전체 코드입니다: 힌트 1: 문자열 분리하기먼저 주어진 문자열을 공백을 기준으로 나눌 필요가 있습니다. Java에서 문자열을 특정 문자를 기준으로 나누는 메서드를 찾아보세요.// 주어진 문자열 s를 공백을 기준으로 나누어 배열에 저장합니다.String[] tmpArr = s.split(" ");힌트 2: 문자열을 정수로 변환하기문자열 배열의 각 요소를 정수로 변환해야 합니다. 이를 위해 각 요소를 순회하면서 정수 배열에 저장해보세요.// 문자열 배..
[프로그래머스] 구명보트 코드 힌트배열을 정렬하여 사용하기:배열 people을 오름차순으로 정렬합니다. 정렬을 통해 가장 가벼운 사람과 가장 무거운 사람을 쉽게 비교할 수 있습니다.다중 반복문을 사용하지 않고 투 포인터 알고리즘을 사용하기:투 포인터 알고리즘을 사용하여 효율적으로 사람들을 보트에 태웁니다.startIdx는 가장 가벼운 사람을 가리키고, endIdx는 가장 무거운 사람을 가리킵니다.탐욕법으로 조건을 처리하기:각 단계에서 가장 가벼운 사람과 가장 무거운 사람을 비교하여 보트에 태웁니다.투 포인터 알고리즘이란?1차원 배열에서 각기 서로 다른 원소를 가리키고 있는 2개의 포인터를 조작해가면서 원하는 값을 찾을 때까지 탐색하는 알고리즘입니다. 일반적으로 배열의 시작과 끝에서 포인터를 시작하여 서로를 향해 이동하면서 조건을..

728x90