
올바른 괄호, 기능 개발 - level2코딩테스트 - Java2024. 9. 27. 19:51
Table of Contents
728x90
- 올바른 괄호 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 풀이
걸린 시간 : 10~15분
class Solution {
boolean solution(String s) {
char[] list = new char[s.length()];
int index = 0;
for(char c : s.toCharArray()){
list[index] = c;
index++;
if(index >= 2){
if(String.valueOf(list[index - 2]).equals("(")
&& String.valueOf(list[index - 1]).equals(")")){
index -= 2;
}
}
}
if(index == 0){
return true;
} else {
return false;
}
}
}
오늘은 쉬운 알고리즘인 스택과 큐 2레벨 문제를 풀어보았다.
어려운 알고리즘을 위한 몸풀기 단계...
해당 문제는 쉽기에 다들 풀 수 있을 것이라 생각한다.
- 기능 개발 문제
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 풀이
걸린 시간 : 15~20분
import java.util.*;
class Solution {
public ArrayList<Integer> solution(int[] progresses, int[] speeds) {
int[] complete = new int[progresses.length];
for(int i = 0; i < progresses.length; i++){
complete[i] = (int) Math.ceil((double)(100 - progresses[i]) / speeds[i]);
}
int count = 1;
int firstComplete = complete[0];
ArrayList<Integer> answer = new ArrayList<>();
for(int i = 1; i < complete.length; i++){
if(firstComplete >= complete[i]){
count++;
} else {
firstComplete = complete[i];
answer.add(count);
count = 1;
}
}
answer.add(count);
return answer;
}
}
이건 항해99에 나왔던 문제인데,
당시에 풀었는지 포기했는지가 기억이 안난다.
그 당시에는 좀 어려웠다고 느껴진 문제였는데
지금 다시 푸니 하나도 어렵지 않은 문제였다.
이럴수록 다른 알고리즘들이 무서워진다.
내일 부턴 중요 알고리즘 문제들을 하나씩 풀어보려고 한다.
728x90
'코딩테스트 - Java' 카테고리의 다른 글
무인도 여행(DFS) - level2 (4) | 2024.09.29 |
---|---|
타겟 넘버(DFS, BFS) - level2 (2) | 2024.09.28 |
성격 유형 검사하기 - Level1 (1) | 2024.09.27 |
크레인 인형뽑기 게임 - level1 (3) | 2024.09.26 |
문자열 나누기 - Level1 (3) | 2024.09.25 |
@or-else :: orElse의 팔만대장경
안녕하세요. 성장하고 싶은 개발자 orElse입니다. 지켜봐주세요.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!