SWEA 5

[SWEA - 파이썬] 2382.미생물 격리

문제 보러 가기 풀이 ❄ "엄청난 알고리즘!! 을 알아야 해!!"라기 보다는 조건을 꼼꼼히 반영해서 푸는 문제였다. 나는 미생물 군집의 인덱스, 수, 이동 방향들을 리스트로 저장하고 풀었다. M 시간 동안 아래 과정을 반복했다. 1. 이동 시키기 - 이동 방향에 맞춰서 이동시키기(이동 결과를 리스트에 반영) 2. 약품 부분으로 간 미생물 군집 처리 - 수를 절반으로 - 만약 수가 0이 되면 군집 없애기 - 방향은 반대로 - 처음에는 원래 쓰던 리스트에서 del을 해서, 수가 0이 된 미생물 군집을 처리했다. 그런데 틀렸다.. 잠깐 슬퍼하다가 생각해보니, 원래 리스트에서 del을 하면 리스트 길이가 짧아져서 끝까지 볼 수 없게 된다. 그래서 새로운 리스트(new_microbes)를 만들어서 사용했고, 과정..

[SWEA-파이썬] 1795: 인수의 생일 파티

문제 보러 가기! N개의 집(정점)이 주어지고, 집과 집을 연결하는 도로(간선)가 주어진다. 도로는 단방향 간선이고, 이동하는 데 걸리는 시간이 주어진다. 도로는 모든 집들 간의 이동이 가능하게 했다. 모든 집에서 생일을 맞은 인수의 집으로 오고 가는데, 이때 오가는 시간이 가장 오래 걸리는 집이 얼마나 걸리는지 구하는 문제이다. 그러면 인수네 집 -> 다른 모든 집으로 가는 데 드는 최소 시간도, 다른 모든 집 각각에서 인수네 집으로 가는 데 드는 최소 시간도 모두 알아야 한다. 인수네 집에서 다른 모든 집들 가는 최단 경로는 다익스트라로 할 수 있다는 건 처음부터 알았다. 다른 각각의 집에서 인수네 집으로 가는 최단 경로는 어떻게 구할까.. 그게 고민이었다. 처음에는 마음 편하게 ! 모든 정점 간의 ..

[SWEA-파이썬] 2105: 디저트 카페

문제 보러 가기! DFS로 풀었다. 그대로 직진하거나, 방향을 바꾸거나!! 이때 시계방향이든 반시계방향이든 한 방향으로 돌아봐야 한다~ 대각선 방향으로 가야 하고, 두 개(카페, 디저트)의 방문 체크를 고려하는 게 특이했다~ # 대각선 방향 directions = [(1, 1), (1, -1), (-1, -1), (-1, 1)] def dfs(i, j, direction_type, dessert_cnt): global ans # 직진 or 꺾기 if direction_type < 3: tmp = direction_type + 2 else: tmp = direction_type + 1 for k in range(direction_type, tmp): ni = i + directions[k][0] nj = ..

[21.07.16] SWEA 문제 풀기 시작💪😍🌱

SW Expert Academy 문제를 풀기 시작했다. SW Expert Academy 줄여서 SWEA라고 하는 것 같다. 그래서 나도 SWEA라고 쓰겠다. 난이도 1은 금방 금방 풀었는데, 난이도 2는 쉬운 것도 있지만 좀 어려운 것도 있다. 문제 풀이 코드, 내가 어떻게 접근했는지 정리한 것을 깃허브에 올리고 있다. 쌓이면 왠지 뿌듯해서 좋다..ㅎㅎ 보러 오세요 ㅎㅎ 아직은 난이도 1 난이도 2 중 쉬운 문제만 풀어서 간단하게만 썼다. 어려운 문제를 풀면 벨로그에 좀 더 자세히 쓰려고 한다.

[SWEA-파이썬] 1242: 암호코드 스캔

문제 보러 가기(로그인해야 볼 수 있어용) ㅠㅠㅠㅠㅠㅠ 3~4시간 힘겨운 시간을 보내고 ㅠㅠㅠ 드디어 맞았다 ㅠㅠㅠㅠㅠ 이렇게 오래 씨름한 문제는 오랜만이다... 접근은 그렇게 어렵지는 않았고, 1시간 만에 파이참에서는 정답이 나오게 코드를 짤 수 있었다. 그런데 문제 채점 사이트에서 런타임 에러 나와서 해결하느라고 정말 정말 힘들었다 ..!! 맨 처음 짠 코드 👩‍💻 import sys sys.stdin = open('1242_input.txt') T = int(input()) hex_change = { '0': '0000', '1': '0001', '2': '0010', '3': '0011', '4': '0100', '5': '0101', '6': '0110', '7': '0111', '8': '10..

728x90