일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 10953
- All Longest Strings
- C++
- Numpy
- 백준
- Counting cells in a blob
- data_structure
- 2015 봄학기 알고리즘
- cpp
- 파이썬머신러닝완벽가이드
- codesingal
- 2750
- 피보나치 수
- adjacentElementsProduct
- 수 정렬하기
- collections.deque
- til
- shapeArea
- matrixElementsSum
- 파이썬 포렌식
- flask
- Python
- baekjun
- almostIncreasingSequence
- Daily Commit
- Sequential Search
- centuryFromYear
- markdown
- recursion
- codesignal
- Today
- Total
Introfor
문제에서 설명한 방식을 그대로 적용해서 풀었다. 흠.. 뭔가 얻어간게 없는 듯한 기분 하나 더 풀기에는 늦었네.. 내일 좀 더 많이 풀어야겠네 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def solve(): n_set = set(range(1, 10001)) comparison = set() for i in n_set: for j in str(i): i += int(j) comparison.add(i) answer = n_set - comparison for i in sorted(answer): print(i) solve() cs
유튜브 SKPlanet Tacademy에서 본 내용을 바탕으로 코드를 작성했다. 확실히 설명을 듣는 것과 맨땅 헤딩의 차이는 꽤나 있다. 이 문제의 키포인트는 공통된 주사위 눈을 어떡해 판별하는가이다. 판별하는 방법은 단순하게 정렬이다. 같은 숫자는 같은 숫자끼리 모여서 판별할 수 있다. 그러고 set()을 통해 공통 요소를 제거하는 것으로 중복 개수를 판단한다. 이 코드의 시간 복잡도는 O(2N)..? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def reward() -> int: lst = sorted(list(map(int, input().split()))) if len(set(lst)) == 1: return 50000 + lst[0] * 5000 if len(set(lst)) =..
유튜브에 T아카데미 채널에 있는 동영상 중 "기초 알고리즘과 파이썬 코딩"을 보고 문제 해결 절차를 따라 해보았다. 우선 기본적으로 문제를 확인한다. 시간과 용량은 어떻게 되며, 입력 값이 있다면 그 값은 얼마나 되는지 파악해야 한다. 이 문제의 입력값은 N(1≤N≤100,000,000) 이렇게 주어진다. Python / 1sec 설명 1,000,000 안정적 10,000,000 대다수 가능 100,000,000 거의 불가능 강의에서 나온 기준으로 1sec에 1억번 연산을 수행하면 거의 불가능한 수준으로 볼 수 있다. 그럼 이 경우에 O(N)의 시간복잡도가 되면 문제를 풀지 못한다는 이야기다. 이 문제를 풀기 위해서 O(1) or O(logN), O(√n)의 시간 복잡도를 가져야 하는 것을 파악하고 문제..