전체 글
-
백준 4948번 python 풀이 (with for-else)😖DEBUG/🟡PYTHON 2024. 5. 28. 19:00
단계별로 풀어보기를 하기 때문에 비슷한 문제들이 묶여있기에이전 문제들을 풀고나서 해당 문제도 쉽게 풀 수 있을줄 알았다 하지만 시간초과가 자꾸 나서 질문게시판을 뒤져봤다 import mathdef find_prime(m): if m == 0 or m == 1: return False for i in range(2, int(math.sqrt(m)) + 1): if m % i == 0: return False return Truewhile True: l = [] n = int(input()) if n == 0: break else: for i in range(n+1, 2*n+1): if find_prime(i): l.append(i) pr..
-
백준 2485번 python 풀이😖DEBUG/🟡PYTHON 2024. 5. 23. 19:00
딱 문제를 봤을때 든 생각은a, b, c, ... , z 까지의 나무가 이미 심어져있다고 가정했을때각 나무사이의 간격을 저장해놓고, 간격들의 최대공약수를 구하여 그중에서도 최소값을 이용해 간격에 사용한다그리고 처음과 끝 사이에 심어줄 나무의 개수 - 이미 존재하는 나무 개수 를 구하면 된다고 생각했다맨 처음에 짰던 코드는 위의 말한 과정을 여러 개의 반복문을 이용하여 구현했다 import sys, mathn = int(input())d = {}s = set()check = 1000000000r = 0for i in range(n): d[i] = int(sys.stdin.readline())for i in range(1, n): s.add(d[i] - d[i-1])s = list(s)for i in r..
-
크롬 인쇄 배경그래픽 강제 지정🤔DEV/🟣HTML & CSS 2024. 5. 22. 19:00
@media print { * { -webkit-print-color-adjust: exact; } /* 기타 코드들 */} 테스트 결과 배경그래픽 체크 유무와 상관없이 table 배경그래픽 잘 먹힘 서칭 결과 !important 태그를 exact 뒤에 추가해야 된다는 경우도 있던데 실제로 적용해보니 !important하면 모든 배경그래픽이 앞으로 튀어나와서 굳이 적용하지 않음 참고 사이트: https://markettraders.kr/print-color-adjust/
-
백준 18870번 python 풀이😖DEBUG/🟡PYTHON 2024. 5. 21. 19:00
문제를 처음 봤을때 '어렵지 않겠는데?' 하는 생각으로각각의 수보다 작은 수를 찾는 무지성 반복문을 돌렸다 시간초과 오류가 뜰것같은 불안함이 있었는데 역시나... 시간초과 import sysn = int(input())l = list(map(int,(sys.stdin.readline().split())))s = set(l)r = [0 for i in range(n)]for i in s: for j in s: if i > j: if i in l: r[l.index(i)] += 1for i in range(n): for j in range(i+1, n): if l[i] == l[j]: r[j] = r[i] print(*r) 글을 쓰면서 코드를 다시봤는데 ..
-
백준 2231번 python 풀이😖DEBUG/🟡PYTHON 2024. 5. 14. 18:00
우선 이 문제를 봤을때 비교적 작은 수인 네자리의 숫자는 for문을 n만큼 돌려도 시간이 오래걸리지 않아서범위 n까지의 숫자중 분해합이 n이 되었을때 가장 작은 수를 출력하도록 했다 n = input()result = ""if len(n) 하지만 네자리수보다 큰 경우(1000이상) for문을 돌릴때 분명 시간초과가 뜰 것이기 때문에처음에는 문자열 인덱스를 이용해서 천의 자리보다 큰 값은 고정을 해두고 최대 9999의 반복문이 돌도록 했는데자꾸 틀리다고 나왔다.. 질문 게시판에 반례를 테스트해봐도 전부 정답만 출력됐는데곰곰이 생각하다가 혼자 깨달음을 얻었다 90030의 생성자는 89988, 90043의 생성자는 89999였던것...내가 만든 반복문을 기준으로 따지면 90000부터 반복문을 시작했기에 이런 ..
-
백준 2798번 python 풀이😖DEBUG/🟡PYTHON 2024. 5. 9. 20:00
보자마자 이건 금방 풀겠다 싶어서 뚝딱 완성한 후에 테스트 케이스 확인도 마치고 제출했다 그런데 실패가 떠버렸다?!?!? n, m = map(int, input().split())l = list(map(int, input().split()))r = 300001cardsum = 0for i in range(n): for j in range(i+1, n): for k in range(j+1, n): check = l[i] + l[j] + l[k] if (check 질문 게시판 다 뒤져가면서 다른 테스트 케이스도 확인했는데 틀린 답이 하나도 없었다 그러는 와중에..!!! 구세주 발견!!! break문 때문에 for문 가동에 오류가 발생할수도 있다는 글을 발견했다 그리고 바로 brea..
-
백준 3009번 python 풀이😖DEBUG/🟡PYTHON 2024. 5. 9. 18:00
너무 간단한 문제이기에 절대 솔루션을 안보겠다는 다짐으로 길고 긴 코드를 짜버렸지만 생각을 거듭해서 처음부터 다시 짰다 l = []r = []f = []c1 = 0c2 = 0for i in range(3): a, b = map(int, input().split()) l.append(a) l.append(b)s = set(l)if len(s) == 2: for j in l: if j == l[0]: c1 += 1 else: b = j c2 += 1 if c2 > c1: print(l[0], l[0]) if c2 == c1: c1 = 0 c2 = 0 for k in l[0::2]: if l[k] == l[0]: c1 ..
-
백준 2869번 python 풀이😖DEBUG/🟡PYTHON 2024. 5. 8. 19:00
달팽이 문제를 풀다가 또 막혀버렸다 처음에 생각한 방법은 V미터를 A미터로 나눈 몫을 각각 A와 B에 곱해서 빼고 더하는 방식이었는데 테스트 케이스를 해보고 time 함수로 시간도 재봤지만 결국 시간초과로 실패... import sys, timea, b, v = map(int, sys.stdin.readline().split())start = time.time()count = 1r = 0while True: #print("v: " + str(v) + ", c: " + str(count) + ", r: " + str(r)) if v 반례를 찾기 어려웟는데 고수분의 도움으로 반례를 찾았다 input: 100000000 99999999 1000000000print: 900000001time: 약 ..