본문 바로가기

분류 전체보기85

백준 2941번 백준 2941번 c=, c-, dz=, ...가 한 묶음이니까 한 묶음씩 처리하면 좋겠지만 임의의 문자열을 한 묶음으로 처리하는 법은 모르겠고 처음에는 한 글자씩 따져보는 방법으로 접근했다.import sysword = list(sys.stdin.readline().rstrip())ans = 0for i in range(len(word)): if word[i] == "c": if word[i+1] == "=" or word[i+1] == "-": continue else: ans += 1 elif word[i] == "=" or word[i] == "-": ans += 1 elif word[i] == "d": .. 2024. 7. 10.
백준 2581번 직전 문제에 이어 또 시간 초과 에러가 발생했다. 처음 제출한 코드는 다음과 같다.import sysM = int(sys.stdin.readline())N = int(sys.stdin.readline())p = []min = 0for i in range(M, N+1): if i == 1: continue f = 0 for j in range(i): if j+1 == 1: continue elif j+1 == i: continue elif i % (j+1) == 0: f += 1 if f == 0: p.append(i)if len(p) == 0: .. 2024. 7. 9.
백준 2869번 백준 2869번 처음으로 시간 초과 에러가 발생했다. 크기가 작은 입력값들에 대해서는 잘 작동하는데 나무의 높이가 아주 높을 경우에 이 에러가 발생하는 듯하다. 먼저 처음 작성한 코드import sysA, B, V = map(int, sys.stdin.readline().split())total = 0day = 0while True: day += 1 total += A if total >= V: break else: total -= Bprint(day) 분명 저 반복문에서 시간 초과 에러가 발생했을 것이다. 반복문을 사용한 이유는 밤에 미끄러지지만 '정상에 도달하면' 미끄러지지 않는다는 조건을 반영하기 위해 A를 더하고 B를 빼기 전 total >= V 여부.. 2024. 7. 9.
백준 2745번 백준 2745번 백준 문제 풀다가 처음으로 메모리 초과가 떴다. 생소한 에러라 질문글을 참고해 해결해보았다. 먼저 첫 제출 코드import sysN, B = sys.stdin.readline().split()decimal = 0for i in range(len(N)): try: int(N[len(N)-1-i]) decimal += N[len(N)-1-i] * pow(int(B), i) except: decimal += (ord(N[len(N)-1-i])-55) * pow(int(B), i)print(decimal) 메모리 초과 질문글 int(N[len(N)-1-i]) 한다고 N[len(N)-1-i]에 int형으로 변환된 값이 저장되는 건 아닌데 순간 착각했.. 2024. 7. 6.
백준 2563번 백준 2563번 처음에는 100*N에서 겹친 만큼의 넓이를 빼는 방식으로 접근했고 다음과 같이 작성하였다. (사실 색종이가 겹치는 경우에 대한 조건과 겹친 만큼의 넓이를 구하는 식을 일반화하는 데도 시간이 걸렸다.)import sysN = int(sys.stdin.readline())papers = []for i in range(N): paper = list(map(int, sys.stdin.readline().split())) papers.append(paper)overlappedArea = 0for i in range(N-1): for j in range(i+1, N): if 10-abs(papers[i][0]-papers[j][0]) > 0 and 10-abs(paper.. 2024. 7. 6.
백준 10988번 백준 10988번 처음에 제출했던 코드import sysword = sys.stdin.readline().rstrip()for i in range(len(word)//2): if word[i] == word[len(word)-1-i]: if i == len(word)//2-1: print(1) break else: continue else: print(0) break 문제에 주어진 입력 예시인 level, noon, baekjoon, online, judge를 입력해보았을 때는 전부 정답을 출력해냈는데 제출 결과 틀렸습니다가 나왔다. 고민 끝에 a를 입력해보았더니 1이나 0을 출력하지 .. 2024. 7. 4.