728x90
👈 이전글
[99클럽] 99클럽 코테 스터디 2일차 TIL + 해시(Hash)
99클럽 2기 | 자바 | 비기너
🗝 오늘의 학습 키워드 : Stack Queue
📚 공부한 내용 본인의 언어로 정리하기
- [Java 봐] Stack(스택)
- [Java 봐] Queue(큐)
- [Programmers | Java | 스택/큐 문제 풀이] 같은 숫자는 싫어 - Solution with Stack & Array
- [Programmers | Java | 스택/큐 문제 풀이] 기능개발 - Solution with Stack
- [Programmers | Java | 스택/큐 문제 풀이] 다리를 지나는 트럭 - Solution with Queue
⌛ 오늘의 회고
오놀은 어제와는 다른 새로운 자료구조 관련 문제를 내주셨다.
스택과 큐였는데
전에 광주인공지능사관학교 수업 시간이랑
개인적으로 영상으로 공부할 때,
LIFO, FIFO하면서 공부했던 기억이 어렴풋이 났다.
블로그로 스택과 큐에 대해 검색해 보고
개념 및 메소드를 정리하는데 시간이 생각보다 너무 많이 걸렸다.
그리고 스택과 큐 메서드들이 너무 많고 비슷해서 헷갈린다.
이번주에 SQLD 시험있어서 그것도 공부해야하는데...
얼른 99Club 과제 끝내고 SQLD 공부해야겠다.
근데 비기너 문제도 풀고 싶어서 비기너 문제 풀이 후,
정리까지 하니 벌써 오후8시다.
근데 또 챌린저 문제도 풀어보고 싶다~~~~~!
결국 풀어버렸다!!!!!
🎉 비기너, 미들러, 챌린저 All Clear! 🎉
이제 9시 11분...
제발 오늘 SQLD 공부를 끝마치고 잘 수 있기를...🙏
💥 어떤 문제가 있었고, 나는 어떤 시도를 했는지💦
(비기너 문제 풀 때, 발생한 문제만 씀. 나머지는 코드 풀이 링크 참고)
Stack을 int배열로 변환하는 곳에서 문제 발생 (링크🔗)
1. 스택.toArray()
Object[] 타입이 반환되어 실패
- Object[]타입을 int[] 타입으로 찾는 방법 검색 (총 4가지 방법을 찾음)
- 방법1 : for문 사용
- 방법2 :
스택.stream().mapToInt(x -> x).toArray(); - 방법3 :
스택.stream().mapToInt(Integer::intValue).toArray(); - 방법4 :
스택.stream().filter(x -> x != null).mapToInt(x -> x).toArray();
2. 다른 풀이 방법을 모색
같은 크기의 배열에 중복되지 않은 값을 넣은 후, 값이 삽입된 index까지만 자를 수 없을까?
어떻게 해결했는지👍
1. 스택.stream().mapToInt(x -> x).toArray();로 해결
2. Arrays.copyOfRange(배열, 시작 인덱스, 마지막 인덱스 + 1);로 해결
💬 무엇을 새롭게 알았는지
- 스택/ 큐의 자료구조
- 스택/ 큐의 메서드
- 삽입
스택.push()- '스택or큐.add()`
큐.offer()
- 삭제
스택.pop()스택or큐.remove()큐.poll()
- 검색
큐.element()- '스택or큐.peek()`
스택.elementAt(인덱스)스택.search(원소): 해당 원소의 인덱스 반환
- 크기
스택or큐.size()
- 포함
큐.contains(원소)
- 공백 체크
스택or큐.isEmpty()스택.empty()
- 초기화
스택or큐.clear()
- 수정
스택.set()
- 삽입
- 스택을 int[]배열로 바꾸는 방법
- 방법1 : for문 사용
- 방법2 :
스택.stream().mapToInt(x -> x).toArray(); - 방법3 :
스택.stream().mapToInt(Integer::intValue).toArray(); - 방법4 :
스택.stream().filter(x -> x != null).mapToInt(x -> x).toArray();
- 배열을 특정인덱스에서 자르는 방법
Arrays.copyOfRange(배열, 시작인덱스, 마지막 인덱스 + 1);
💭 내일 학습할 것은 무엇인지
- 코딩 테스트 문제 풀이
- TIL 작성
- 출석 인증
- SQLD 인강 듣기, 개념 정리, 기출 풀이
728x90