● 계획
- 오늘 나의 학습 목표
자료구조의 이해
Stack 이해
Queue 이해
[페어프로그래밍] Stack, Queue 문제풀이
● 점검 및 평가
- 새롭게 학습한 내용은
- 다른 사람에게 설명할 수 있는가
- 이해되지 않은 부분은
- 보완하기 위해 무엇을
자료구조가 무엇이고 어디에 어느 목적으로 쓰이는지를 알고
그 중 Stack과 Queue 에 대해 개념은 이해했는데
이걸 활용하는 문제를 풀어보려니까 그냥 머리가 멈췄다
늘 그런 패턴이다
어떤걸 배우면 그걸 활용하는 코딩이 굉장히 어렵다
이번에 가장 처음으로 막혔던 부분은
의사코딩을 진행 한 뒤에
그거에 맞게 코드를 구현하는 과정에서
nextStack.push(current.pop()); 다음페이지 스택에 현재 페이지 스택을 push해줘야 하는데 저 괄호안에 그냥 current만 들어가면 자연스러운 줄 알았다
그러나 에러로 같은 타입이 와야한다는 것을 알았다
nextStack을 보면 String 타입을 받고 있기 때문에
push() 안에는 String 타입을 받아야 한다
그런데 current는 Stack이기 때문에
그냥 current를 넣으면 에러가 발생하는 것이다
그래서 current.pop() 을 넣어줘야 한다
왜냐하면 current.pop()은 현재의 스택에서 가장 나중에 들어온 요소를 빼버리는, 빠져나온 String 요소 이기 때문이다
nextStack.push(current.pop());
겉으로 보이겐 굉장히 코드가 이상해보인다
그래서 영 이상하면 current.pop()자체를 변수로 선언하고 집어넣는 방법도 있을 것이다
그런데 그러면 코드가 더 길어지겠지
로직은 어느정도 맞게 이해하고 있고
의사코딩도 적절하게 하는 것 같은데
코드 구현이 지금 제일 어려운 것 같다
익숙해질 때 까지 반복하고 더 연습해봐야겠다
'데일리 회고록 (2022.04.25 ~ 10.19) > 5월' 카테고리의 다른 글
2022.05.27 ~ 05.30 (0) | 2022.06.11 |
---|---|
2022.05.25 (0) | 2022.05.25 |
2022.05.24 (0) | 2022.05.24 |
2022.05.23 (Section 1 회고)(feat. 생일) (0) | 2022.05.23 |
2022.05.12 ~ 2022.05.22 (0) | 2022.05.22 |
댓글