Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
https://school.programmers.co.kr/learn/courses/30/lessons/120853
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
나의 풀이
import java.util.List;
import java.util.ArrayList;
class Solution {
public int solution(String s) {
String[] strs = s.split(" ");
List<Integer> list = new ArrayList<>();
for(int i=0; i<strs.length; i++)
if(i+1 < strs.length && strs[i+1].charAt(0) != 'Z' && strs[i].charAt(0) != 'Z')
list.add(Integer.valueOf(strs[i]));
if(strs[strs.length-1].charAt(0) != 'Z')
list.add(Integer.valueOf(strs[strs.length-1]));
int answer = 0;
for(int i=0; i<list.size(); i++)
answer += list.get(i);
return answer;
}
}
다른 사람의 풀이
- Stack 자료 구조 활용
import java.util.Stack;
class Solution {
public int solution(String s) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
for(String w : s.split(" "))
if(w.equals("Z")) stack.pop();
else stack.push(Integer.parseInt(w));
for(int i : stack)
answer += i;
return answer;
}
}
'Dev > PS' 카테고리의 다른 글
[프로그래머스-코딩테스트 입문] 중복된 문자 제거 (0) | 2023.08.15 |
---|---|
[프로그래머스-코딩테스트 입문] 배열 원소의 길이 (0) | 2023.08.15 |
[프로그래머스-코딩테스트 입문] 소인수분해 (0) | 2023.08.14 |
[프로그래머스-코딩테스트 입문] 숨어있는 숫자의 덧셈 (1) (0) | 2023.08.13 |
[프로그래머스-코딩테스트 입문] 문자열 정렬하기 (1) (0) | 2023.08.13 |