본문 바로가기

CodingTest

(238)
[ SW Expert Academy ] 2001. 파리퇴치 1 차 제출. [ 5 / 10 ] Fail 헐 최악의 경우다.. 테케 맞고 정답인 줄 알았는데 히든테케에서 걸리는 경우.. 이게 진짜 망하는거다.. 꼭 예외케이스 걸러내자 . ㅜㅜㅜ T = int(input()) for tc in range(1, T+1): answer = 0 n, m = map(int, input().split()) board = [list(map(int, input().split())) for _ in range(n)] for i in range(n-m): for j in range(n-m): catch = 0 for a in range(m): for b in range(m): catch += board[i+a][j+b] answer = max(answer, catch) print('..
[ SW Expert Academy ] 1926. 간단한 369게임 1차 제출 . PASS. 풀이 소요 시간 11분 생각보다 후딱 풀었다. 이전 문제에 30분 이상 투자한 것에 비하면.. 꽤 쉬웠다. 파이썬이 문자열 다루기에 유리한 덕분 🙇‍♀️ n = int(input()) answer = '' for i in range(1, n+1): cnt = 0 for j in str(i): if j == '3' or j == '6' or j == '9': cnt += 1 if not cnt: answer += str(i) else: answer += '-'*cnt answer += ' ' print(answer[:-1])
[ SW Expert Academy ] Base 64 Decoder 보호되어 있는 글입니다.
[ SW Expert Academy ] 부분 문자열 보호되어 있는 글입니다.
[ SW Expert Academy ] D1레벨 19문제 풀이 모음 [ 19 / 19 ] #1. 2072. 홀수만 더하기 T = int(input()) for test_case in range(1, T+1): nums = list(map(int, input().split())) answer = 0 answ = 0 for num in nums: if num % 2 != 0: answer += num print("#{} {}".format(test_case, answer)) # 2. 2071. 평균값 구하기 아 진짜 .. 웃긴다.. 반올림 함수를 까먹다니 ~ 바부바부 ~ ㅎ.ㅎ 반올림: round, 올림: math.ceil, 내림: math.floor, 소수점 버리기: math.trunc T = int(input()) for test_case in range(1, T+1): nums = list..
[ SW Expert Academy ] 5253. 접두어 검색 1차 제출 . [ 10 / 10 ] PASS 그냥 브루트포스 느낌으로 풀었는데, 데이터 사이즈가 작아서 통과됐다. T = int(input()) for test_case in range(1, T+1): n, m = map(int, input().split()) a = [input().strip() for _ in range(n)] b = [input().strip() for _ in range(m)] answer = 0 for b_str in b: for a_str in a: if a_str[:len(b_str)] == b_str: answer += 1 break print("#{} {}".format(test_case, answer))
[ SW Expert Academy ] 5252. 공통 단어 검색 1차 제출 [ 10 / 10 ] PASS 문제 푸는 데 한 5분 걸렸다.. 빠르게 패스되어 기분은 좋다만.. 오히려 풀이 시간이 너무 짧으니 이런 식으로 접근해도 되는건가 긴가민가싶다... ㅎㅎ .. 다른 분들 풀이 찾아봐야겠다. T = int(input()) for test_case in range(1, T+1): n, m = map(int, input().split()) a = [input().strip() for _ in range(n)] b = [input().strip() for _ in range(m)] union = a+b union = set(union) answer = len(a) + len(b) - len(union) print("#{} {}".format(test_case, answe..
[ SW Expert Academy ] 5251. 최소 이동 거리 1차시도 [ 10 / 10 ] PASS 다익스트라 알고리즘 적용시켜서 그냥 고대~로 구현했다. 이해보다는 암기의 영역인 문제였다. 응용이 그다지 필요하지 않아서 import heapq INF = int(1e9) def dijkstra(start): q = [] heapq.heappush(q, (0, start)) distance[start] = 0 while q: dist, now = heapq.heappop(q) if distance[now] < dist: continue for i in graph[now]: cost = dist+i[1] if cost < distance[i[0]]: distance[i[0]] = cost heapq.heappush(q, (cost, i[0])) T = int(inpu..
[ SW Expert Academy ] 5250. 최소 비용 1차 제출. [ 6 / 10 ] Fail 앗 .. 뭐지.. 시간초과로 터졌다... from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] INF = 1e9 def bfs(board, n): dist = [[INF] * n for _ in range(n)] q = deque([(0, 0)]) dist[0][0] = 0 while q: x, y = q.pop() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0
[ SW Expert Academy ] 5249. 최소 신장 트리 1차 시도 [ 8 / 10 ] Fail 헐 .. 시간초과.. 뭐지.. 앞에서부터 빼서 그런가.. def make_set(x, p): p[x] = x return p def find_set(x, p): if p[x] == x: return x return find_set(p[x], p) def union(u, v, p): if u > v: p[find_set(u, p)] = find_set(v, p) else: p[find_set(v, p)] = find_set(u, p) return p def mst_kruskal(g, n): p = {} for i in range(n): p = make_set(i, p) g.sort(key=lambda x:x[2]) mst_cost = 0 while g: u, v, w..