일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프 이론
- 동적 계획법
- npm start
- db replication
- 파이썬
- 모듈러 연산 분배법칙
- 정처기 필기
- 깊이 우선 탐색
- 수학
- dfs
- 구현
- 일단 시도
- Python
- bfs
- lazy evaluation
- 문자열
- 그래프탐색
- 그래프 탐색
- 최장공통부분문자열
- 클래스
- 배낭 문제
- error:0308010C:digital envelope routines::unsupported
- Docker 원리
- LCS 알고리즘
- 다이나믹 프로그래밍
- 나는 바보야...
- 최장공통부분수열
- Container vs VM
- 냅색 알고리즘
- 너비 우선 탐색
- Today
- Total
목록문자열 (2)
Save my data
단순히 구현만 하면 되는 쉬운 문제였다. import sys score = { "A+" : 4.5, "A0" : 4.0, "B+" : 3.5, "B0" : 3.0, "C+" : 2.5, "C0" : 2.0, "D+" : 1.5, "D0" : 1.0, "F" : 0.0 } res = [] total_point = 0 for _ in range(20): subject, point, grade = sys.stdin.readline().split() point = float(point) if grade != 'P': res.append(point * score[grade]) total_point += point print(sum(res)/total_point) 오늘은 쉬어가는 차원에서 가벼운 문제만 풀었다.
재귀를 이용하여 풀 수 있는 쉬운 문제이다. 예전에 재귀함수쪽을 학습할 때 비슷한 문제를 푼 적이 있어서 쉽게 풀었다. import sys s = sys.stdin.readline().strip() l = len(s) - 1 def palindrome(front:int, rear:int, s:str) -> bool: if front >= rear: return 1 if s[front] == s[rear]: ans = palindrome(front + 1, rear - 1, s) return ans else: return 0 print(palindrome(0, l, s)) 자꾸 틀렸다고 나와서 코드를 이리저리 바꿔가면서 했는데도 안됬다. 한 네 번째 시도를 하고 다시 코드를 보니 sys.stdin.read..