Leetcode - 1441 스택 작업으로 어레이 구축 Java
해설
- 코딩보다 문제 이해하는게 어려웠는데
- 그냥 두개의 큐가 있고, 뒤의 정수로 주어진 N이라는 이름의 큐에서 answer라는 큐에 숫자를 집어넣는 상황인데
- 위 상황에서 주어진 정수배열 target이랑 동일하게 만들려면 어떤 큐 명령이 들어가야 하는가?!?!? 에 대한 문제
- 참고로 n=7이면 아래 코드처럼 표현한 큐가 있다는거임 ㅇㅇ!
int[] {1,2,3,4,5,6,7}
풀이를 위해서
- 각 숫자별(X) 두가지 상황이 있는데요
- target에 x 가 포함되어 있는 경우
: 푸쉬
- target에 x 가 없는 경우
: 푸쉬하고 팝
import java.util.ArrayList;
import java.util.List;
public class Solution {
public List<String> buildArray(int[] target, int n) {
final String PUSH = "Push";
final String POP = "Pop";
int idx = 0;
int limit = target.length;
List<String> answer = new ArrayList<>();
for (int i = 1; i <= n; i++) {
if (limit > idx) {
if (target[idx] == i) {
//in target
idx++;
answer.add(PUSH);
} else {
//not in target
answer.add(PUSH);
answer.add(POP);
}
}
else {
//return answer;
}
}
return answer;
}
public static void main(String[] args) {
tester(new int[]{1, 3}, 3);
tester(new int[]{1, 2, 3}, 3);
tester(new int[]{1, 2}, 4);
tester(new int[]{2, 3, 4}, 4);
tester(new int[]{1,2,3,4,5, 7},7);
tester(new int[]{7},7);
}
private static void tester(int[] target, int n) {
Solution s = new Solution();
List<String> ret = s.buildArray(target, n);
System.out.println(ret.toString());
}
}
Author And Source
이 문제에 관하여(Leetcode - 1441 스택 작업으로 어레이 구축 Java), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@d-h-k/Leetcode-1441-스택-작업으로-어레이-구축-Java
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
int[] {1,2,3,4,5,6,7}
- target에 x 가 포함되어 있는 경우
: 푸쉬 - target에 x 가 없는 경우
: 푸쉬하고 팝
import java.util.ArrayList;
import java.util.List;
public class Solution {
public List<String> buildArray(int[] target, int n) {
final String PUSH = "Push";
final String POP = "Pop";
int idx = 0;
int limit = target.length;
List<String> answer = new ArrayList<>();
for (int i = 1; i <= n; i++) {
if (limit > idx) {
if (target[idx] == i) {
//in target
idx++;
answer.add(PUSH);
} else {
//not in target
answer.add(PUSH);
answer.add(POP);
}
}
else {
//return answer;
}
}
return answer;
}
public static void main(String[] args) {
tester(new int[]{1, 3}, 3);
tester(new int[]{1, 2, 3}, 3);
tester(new int[]{1, 2}, 4);
tester(new int[]{2, 3, 4}, 4);
tester(new int[]{1,2,3,4,5, 7},7);
tester(new int[]{7},7);
}
private static void tester(int[] target, int n) {
Solution s = new Solution();
List<String> ret = s.buildArray(target, n);
System.out.println(ret.toString());
}
}
Author And Source
이 문제에 관하여(Leetcode - 1441 스택 작업으로 어레이 구축 Java), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@d-h-k/Leetcode-1441-스택-작업으로-어레이-구축-Java저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)