문제
https://school.programmers.co.kr/learn/courses/30/lessons/12906
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 이해 & 풀이
이번 문제를 이해하는 것은 쉬울 것이라 생각한다. 때문에 문제 풀이로 바로 들어가겠다
이번 문제는 2개의 풀이가 있다.
1. 반복문을 통한 문제 풀이 ( ArrayList )
기준이 되는 값을 변수로 지정하고 반복문을 통해 반복하며 찾아나간다. 여기서 주의할 점이 있는데 그 값을 어디에 저장할 것이냐 인것이다. 그것은 바로 런타임시에 값이 결정되는 ArrayList를 사용하면 된다. 그렇게 값을 넣으면 answer에 들어갈 배열의 갯수를 확신할 수 있고 그에 따라 반복문을 통해 넣어주면 된다
2. Stack을 활용한 문제풀이
LILO 의 특성을 활용한 문제이다. 애초 기준이 되는 값을 stack 에 집어넣어 하나씩 확인하는 것이다. 이때 확인하는 메소드가 중요한데 stack 에는 가장 위의 값을 확인하는 peek() 과 가장 위의 값을 확인하고 지워버리는 pop()이 있다. 우리는 if 문에서 확인만 하면 되기 때문에 peek() 을 사용한다 그리고 또 중요한 것은 스택은 LILO의 성격으로 인해 배열에 집어 넣을때는 배열의 끝부터 집어넣어야 완성된다. 때문에 반복문을 0에서 출발하는것이 아닌 마치는 곳에서 시작한다.
'코딩테스트 > 🧮 프로그래머스' 카테고리의 다른 글
🧮 [프로그래머스] 1차 비밀지도 (0) | 2023.08.11 |
---|---|
🧮 [프로그래머스] 예산(JAVA) (0) | 2023.08.06 |
🧮 [프로그래머스] 공원 산책 (0) | 2023.08.04 |
🧮 [프로그래머스] 달리기 경주 (0) | 2023.08.04 |
🧮 없는 숫자 더하기 (0) | 2023.08.04 |