https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
학습키워드
스택
해시
처음에 회전이라고 해서 머릿속에서 배열을 십자가 형태로 돌려봤다.ㅋㅋ
문제를 읽으면서 무슨 소리야 했는데
예시를 보며 첫번째 괄호를 맨뒤로 옮기는 것이었다.
ArrayList에 중독 되었는지 또 ArrayList에 remove이용해서 해야하나 하면서
코드 적었다가 String의 charAt으로 해결하였다. 생각해보니 그냥 뒤에 붙이면 되는데...
그 뒤 스택을 이용하여 푸는데 어떻게 같은건지 확인하게 해야하지 하며 아스키 코드도 찾아봤는데
결국 그냥 문자를 넣으면 해결이었다.
조건문에 !으로 해결하면 좋았을 것 같지만 조건문이 너무 길어지는게 싫어 그냥 else로 처리하였다.
import java.util.*;
class Solution {
public static boolean check(String s) {
//"[](){}"
Stack<Character> stack = new Stack<>();
for(int i = 0;i< s.length(); i++) {
if(s.charAt(i) == '(' || s.charAt(i) == '{' || s.charAt(i) == '[' ) {
stack.add(s.charAt(i));
}else {
if(stack.empty()) {
return false;
}
char prev = stack.pop();
if((s.charAt(i) == ']' && prev == '[' )|| (s.charAt(i) == '}' && prev == '{' )
|| (s.charAt(i) == ')' && prev == '(' )) {
}
else{
return false;
}
}
}
if(stack.empty()) {
return true;
}
return false;
}
public int solution(String s) {
//왼쪽으로 x (0 ≤ x < (s의 길이)) 칸만큼 회전시켰을 때
int answer = 0;
if(check(s)) {
answer++;
}
for(int i = 0; i < s.length() - 1; i++) {
s = s.substring(1) + s.charAt(0);
if(check(s)) {
answer++;
}
}
return answer;
}
}
오늘은 약간 복습하듯이 문제를 여러개 풀어보았는데
https://realcold0.tistory.com/57
프로그래머스 폰켓몬 - 자바(Java)
https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는
realcold0.tistory.com
https://realcold0.tistory.com/56
프로그래머스 가장 많이 받은 선물 - 자바(Java)
https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞
realcold0.tistory.com
https://realcold0.tistory.com/55
로또의 최고 순위와 최저 순위 - 자바(Java)
https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는
realcold0.tistory.com
https://realcold0.tistory.com/54
프로그래머스 예산 - 자바(Java)
https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는
realcold0.tistory.com
그중 선물 문제가 카카오 인턴쉽 문제라 그런가 쉽지만 많이 헷갈려서 시간이 오래 걸렸다 코딩테스트를 생각한다면 푸는 시간도 얼른 줄여야겠다.
내일부터는 다른 자료구조 문제도 풀어보아야겠다.
'프로그래머스' 카테고리의 다른 글
99클럽 코테 스터디 12일차 TIL 덧칠하기 - 자바(Java) (0) | 2024.04.09 |
---|---|
프로그래머스 최소직사각형 - 자바(Java) (0) | 2024.04.09 |
프로그래머스 폰켓몬 - 자바(Java) (0) | 2024.04.08 |
프로그래머스 가장 많이 받은 선물 - 자바(Java) (0) | 2024.04.08 |
로또의 최고 순위와 최저 순위 - 자바(Java) (0) | 2024.04.08 |