Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- tacotron
- 개발자를위한파이썬
- 서버로그
- 결과를얻는법
- 나는리뷰어다
- 프로그라피
- 봉사활동
- 2019회고
- 심플소프트웨어
- 놀이동산의슈퍼컴퓨터를작동시켜라
- 인하멘토링
- machinelearning
- 쇠막대기
- Xangle
- 로그남기기
- 개발자회고
- CrossAngle
- jaypark.dating
- 서구동구예비군훈련장
- 노트북덮개
- 한빛미디어
- intell
- 인천남중
- texttospeech
- 신영준
- 타코트론
- 프로그래머스
- graphicdriver
- 우분투비트확인
- 인하대학교
Archives
- Today
- Total
jc.jang
스택 - 프로그래머스 쇠막대기 본문
그림과 같이 쇠막대기와 레이저(점선)이 주어질 때, 잘린 쇠막대기 조각의 총 개수를 구하는 문제이다.
문제를 보자마자 드는 생각 -> 모든 막대기에 대해 몇 개의 레이저가 발사되는지 세어서 총 몇 조각이 되는지 합한다.
결과 -> 정답은 맞았지만 시간 복잡도에서 통과하지못함. 모든 막대기의 시작과 끝 인덱스를 저장하는데 O(n) + 모든 막대기들의 시작과 끝 인덱스 사이에 레이저가 있는지 확인하는데 O(nlogn) 시간이 걸린다. (n은 입력된 문자열의 길이)
스택을 이용한 풀이법 -> 문자열을 순회하며 막대기의 시작점인 경우 스택에 추가하고 레이저인 경우 스택의 원소 만큼 쇠막대기 조각의 수를 더한다. 쇠막대기의 끝점인 경우 쇠막대기 조각에 +1을 한다.
결과 -> O(n)시간에 코드 실행.
'개발 > 코딩인터뷰완전분석' 카테고리의 다른 글
이진 탐색 (0) | 2019.11.12 |
---|---|
코딩인터뷰 완전분석 - 읽은 내용 기록 (0) | 2019.10.24 |
코딩 인터뷰 완전 분석 - big O (0) | 2019.10.17 |
알고리즘 - 큐 (0) | 2019.10.10 |
알고리즘 - 스택 (0) | 2019.10.09 |
Comments