티스토리 뷰
내가 생각한 풀이 방식
1. 먼저 1부터 10000까지의 수를 리스트에 저장
2. 1부터 for문 돌면서 차례대로 ab + a + b 를 실행해 보고 그 때 나온 수를 삭제
3. 최종적으로 list에 남은 수를 출력
배열보다는 리스트를 사용하는 것이 데이터를 삭제하고 공간을 줄이는데 좋다고 생각했고 위 과정을 코드로 작성하면 금방 문제를 풀 수 있을거라고 생각했지만 문제가 있었다!
리스트의 경우 반복문에서 인덱스를 이용해 삭제를 진행하면 인덱스가 같이 줄어든다는 것! ! 그래서 원하는대로 결과가 나오지 않았다...
그러던 중 문제 하단 알고리즘 분류에서 이 문제가 '에라토스테네스의 체'에 속한다는 것을 파악하고 이를 검색해 나름대로 문제에 적용을 해보았다.
풀이한 코드
개선 방향
1. 리스트의 경우 반복 중 삭제 시 'iterator'라는 것을 사용하면 된다.
2. 추가적으로 더 코드를 효과적으로 개선하기 위한 방법은 생각해 볼 것... (숫자를 자리 수 별로 더하는 부분 등...)
'알고리즘' 카테고리의 다른 글
[알고리즘 / 백준] 10930 - SHA-256 (0) | 2020.11.08 |
---|---|
[알고리즘 / 백준] 5397 - 키로거 (0) | 2020.11.08 |
[알고리즘 / 백준] 1966 - 프린터 큐 (0) | 2020.11.08 |
[알고리즘 / 백준] 2798 - 블랙잭 (0) | 2020.11.08 |
[알고리즘 / 백준] 2920 - 음계 (0) | 2020.11.08 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- spring
- search
- Dynamic Programming
- AWS
- Baekjoon
- 수학
- CodeCommit
- CodePipeline
- map
- SWIFT
- Combination
- programmers
- ionic
- BFS
- permutation
- array
- ECR
- string
- 프로그래머스
- Algorithm
- 조합
- 소수
- sort
- DFS
- 순열
- 에라토스테네스의 체
- EC2
- java
- cloudfront
- CodeDeploy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함