일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 10953
- matrixElementsSum
- Numpy
- adjacentElementsProduct
- Daily Commit
- recursion
- All Longest Strings
- flask
- Counting cells in a blob
- almostIncreasingSequence
- 피보나치 수
- data_structure
- 2015 봄학기 알고리즘
- 파이썬머신러닝완벽가이드
- 파이썬 포렌식
- codesingal
- C++
- codesignal
- Sequential Search
- 수 정렬하기
- baekjun
- shapeArea
- 백준
- 2750
- collections.deque
- til
- markdown
- centuryFromYear
- cpp
- Python
- Today
- Total
목록Programming_prob/BaekJoon 30
Introfor
지금 내 수준에서 쉽게 푸는 문제들은 그냥 너무 쉬운 문제들... 1 2 3 4 5 6 def solution(): return max(list(map(int, input()[::-1].split()))) res = solution() print(res) Colored by Color Scripter cs 다른 사람 코드 위 코드와 같은 시간이 걸린다,, 64ms 1 2 3 4 5 6 7 8 9 a, b = input().split() a = int(a[::-1]) b = int(b[::-1]) if a > b : print(a) else : print(b) cs
입력 받은 string의 양쪽 공백을 없애고, 공백을 기준으로 분리 한 후 리스트의 개수를 반환 1 2 3 4 5 6 def solution(): return len(input().strip().split()) res = solution() print(res) cs 다른 사람 코드 문장을 입력 받고, 공백으로 나누는 것은 동일. 3번째 줄에서 공백이 아닌 문자들을 분류 후 다음 줄에서 개수 반환 1 2 3 4 string = input("") words = string.split(" ") words = [w for w in words if w != ""] print(len(words)) Colored by Color Scripter cs
결과를 대문자로 나타내서 편의상 입력 받은 문자열을 대문자로 변환한다. 알파벳 개수를 세기 위한 리스트 변수를 생성하고, 이 리스트에 문자열에 대한 알파벳 개수를 넣어준다. 그 다음 최대값 개수를 계산하고 그에 따라 반환값을 지정한다. 1 2 3 4 5 6 7 8 9 10 11 12 def solution(): string = input().upper() alpha_cnt = [] for i in set(string): alpha_cnt.append(string.count(i)) max_loc = [index for index, value in enumerate(alpha_cnt) if value == max(alpha_cnt)] if len(max_loc) > 1: return '?' else: ret..
알파벳을 리스트에 담아 입력받은 단어가 리스트에 존재한다면 존재값을 넣고 없을 경우 -1을 넣습니다. 1 2 3 4 5 6 7 8 9 10 def solve(): alphabet = list(map(chr, range(97, 123))) string = input() for i in range(len(alphabet)): alphabet[i] = string.find(alphabet[i]) return alphabet res = solve() print(*res) Colored by Color Scripter cs 다른 사람의 코드 1print(*map(input().find, map(chr, range(97, 123))), sep=' ')cs
문제에서 설명한 방식을 그대로 적용해서 풀었다. 흠.. 뭔가 얻어간게 없는 듯한 기분 하나 더 풀기에는 늦었네.. 내일 좀 더 많이 풀어야겠네 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)의 시간 복잡도를 가져야 하는 것을 파악하고 문제..