inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. Stack 두 개를 이용하여 Queue를 구현해 보세요 (외 1문제)

시간복잡도 잘문

해결된 질문

337

kyle3444

작성한 질문수 14

3

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

2개의 스택으로 1개의 큐를 구현하는과정에서

dequeue()를 할 때, 아웃스택이 비어있지않은 경우에는 O(1)을 갖고, 아웃스택이 비어있지 않은 경우에는 O(n)의 시간복잡도를 갖는건 이해했는데

왜 결론적으로 O(1)의 시간복잡도를 갖는지 모르겠습니다.

amortized의 정의도 함께 알려주시면 감사할것같습니다.

 

 

면접 운영체제 기술면접

답변 1

0

개발남노씨

안녕하세요. .kyle3444님

 

amortized에 대해서는 자세히 설명하기에는 면접에서는 그렇게 중요하지 않아서 설명을 빼놓긴 했어요.

https://www.youtube.com/watch?v=GHClo7yu_20

이 영상을 참고해보면 조금 이해가 되실 수 있을 거에요.

뒤쪽에 amortized에 대한 설명이 있습니다.

 

간단히 설명드리자면,

만약에 누군가 kyle님에게 하루에 돈 얼마써? 라고 물어봤다고 가정해볼게요.

364일동안 1만원을 쓰다가 하루정도는 100만원을 썼다고 해보면 다음과 같겠죠.

 

1만원 O(1)
1만원 O(1)
1만원 O(1)
100만원 O(n)
1만원 O(1)
1만원 O(1)
...
1만원 O(1)
1만원 O(1)
1만원 O(1)

 

평소에 항상 1만원을 쓰고 있는데, 가끔 100만원을 썼다고 해서 하루에 평균 100만원을 쓴다고 말하지 않습니다. 일년 전체로 봤을 때는 사실 평균 1만원정도 쓴다고 말하는게 맞겠죠.

 

근데 100만원 쓰는 날이 조금 많아져서, 일년동안 100일이나 100만원을 썼다고 해볼게요.

그러면 평균 1만원 쓴다고 말하기는 좀 그렇겠죠. 평균 100만원 O(n)에 가까운 돈을 쓰는게 맞을거에요.

그럼 이 경계가 애매하죠. 일년중 며칠이상 100만원 O(n) 썼을 때부터 평균O(n)이라고 말할 수 있을까?

 

그건 저희의 범위를 넘어서고 수학적인 계산이 많이 가미되기 때문에, 면접 질문에서도 물어볼 가능성이 높지 않아요.(면접질문 수백개중에서 amortized를 물어본적은 못보긴했습니다.)

 

그래서 그냥 대부분의 경우 O(1)이고 아주 가끔 O(n)이 발생하면 대강 amoritzed O(1)이라고 치자~ 하는거죠.

이정도로 이해해도 굉장히 충분할거에요 ㅎㅎ

 

그리고 kyle님께서 질문하신 내용은 O(1)으로 적혀있고, 첨부해주신 이미지 파일은 queue 두개를 이용하여 stack을 구현하는 문제입니다. image

 

혹시 더 궁금하신 점 있으시면 언제든 질문해주세요 :)

노션 접근이 안됩니다 ㅠㅠ

0

120

2

노션 공유 부탁드립니다.

0

58

2

노션 공유가 안됩니다!

0

152

2

프로세스가 많아질수록 segment table도 많아지는 건가요?

1

73

2

노션 공유가 사라졌습니다.

0

163

2

post 요청

0

56

1

http

0

64

1

mutex, semaphore와 deadllock

0

99

3

실행중인 프로세스는 메모리를 연속적으로? 아니면 불연속적으로 사용하나요?

0

72

1

노션 공유 요청 드립니다.

0

124

1

노션 공유 요청드립니다.

0

87

1

Dynamic Array와 Linked List의 시간복잡도에 대해서..

0

115

1

노션

0

110

1

질문이있습니다 선생님!

0

109

1

질문이있습니다 선생님!

0

99

1

질문이있습니다 선생님!

0

93

1

질문이있습니다 선생님!

0

163

2

질문이있습니다 선생님!

0

152

2

질문이 있습니다 선생님!

1

198

2

질문이 있습니다 선생님!

0

124

1

질문이있습니다 선생님!

0

88

1

질문이 있습니다 선생님!

0

109

1

질문이 있습니다 선생님!

0

91

1

물리적 메모리에 연속적으로 저장하지 않는 이유

0

133

1