본문 바로가기

Algorithm

(19)
[백준 2869] 달팽이는 올라가고 싶다 python 문제 풀이 쉬운 문제일 줄 알았는데 시간 초과가 나기 쉬운 문제였다. 그래서 정답률이 낮은듯.. 밤이 되기 전에 막대를 모두 올라가면 날짜 카운팅을 멈춰야한다. 나의 풀이 밤이 되기 전에 도착할 수 있는 것을 고려하면 다음과 같은 식을 세울 수 있다. 막대 길이에서 달팽이가 밤이 되기 전에 가는 만큼 뺀 길이(v-a)를 밤이 지나서 이동하는 거리(a-b)만큼 나누고, 그거보다 가장 큰 정수를 구하면 달팽이가 밤이 지나서 이동하는 길이가 된다. 거기에 다시 밤이 되기 전에 가는 길이인 1을 더하면 최종 결과값을 도출할 수 있다. import math a, b, v = map(int, input().split()) day = (v-a)/(a-b) + 1 print(math.ceil(day)) 80ms 나왔다..
[백준 1157] 단어 공부 python 문제 풀이 풀이 소스코드 1 아스키코드를 이용하여 알파벳 순서에 맞는 인덱스에 알파벳의 개수를 카운팅 # 단어 공부 word = input().upper() cnt = [0] * 26 # 문자별 카운팅할 배열을 생성 for s in word: # 카운팅 cnt[ord(s)-65] += 1 max_idx = 0 # max값 인덱스 찾기 for i, c in zip(range(26),cnt): if c > cnt[max_idx]: max_idx = i # 출력하기 if cnt.count(cnt[max_idx]) > 1: print('?') else: print(chr(max_idx+65)) 다른 풀이 리스트 인덱스 이용 words = input().upper() unique_words = list(set(w..
[백준 2577] 숫자의 개수 python 문제 입력 150 266 427 출력 3 1 0 2 0 0 0 2 0 0 나의 풀이 인덱스별로 count를 해서 숫자의 개수를 저장함 소스 코드 a = int(input()) b = int(input()) c = int(input()) sum = list(map(int,list(str(a * b * c)))) arr = [0] * 10 for i in sum: arr[i] += 1 for a in arr: print(a) 다른 풀이 리스트 count 매서드 이용 A=int(input()) B=int(input()) C=int(input()) result = list(str(A*B*C)) for i in range(10): print(result.count(str(i)))

반응형