CS

    [BaekJoon] 백준 20055번 컨베이어 벨트 위의 로봇

    [BaekJoon] 백준 20055번 컨베이어 벨트 위의 로봇 🎈문제 https://www.acmicpc.net/problem/20055 💬설명 문제에서 주어진 대로만 하면 된다. 푸는데 40분정도 걸렸다. deque로 풀 수도 있었을 것 같다. 다음엔 그렇게 풀어봐야지 배열에 로봇 위치와 벨트 위치를 넣고 pop, push 해주면서 풀음 👩‍💻코드 # BaekJoon20055.py N, K = map(int, input().split()) A = list(map(int, input().split())) result = 0 robots = [0 for _ in range(N)] def rotate(): global A, robots, N # 컨베이어 벨트 회전 last = A.pop() A = [last..

    [BaekJoon] 백준 20056번 마법사 상어와 파이어볼

    [BaekJoon] 백준 20056번 마법사 상어와 파이어볼 🎈문제 https://www.acmicpc.net/problem/20056 💬설명 처음에 fireball을 어떤 방식으로 저장할지 고민하다가 헤매서 다시 풀었다. 풀고 나니 쉬운 문제였는데 2시간 30분이나 걸렸다.. 포인트는 이동시킬때 앞뒤가 이어져 있다는 점이랑 파이어볼을 지우거나 추가할 때 어떤 방식으로 처리할지 이렇게 2가지 인것 같다. 잘못하면 디버깅 하는데만 오래 걸릴수 있는 문제 👩‍💻코드 # BaekJoon20056.py import copy N, M, K = map(int, input().split()) fireball = {} fireball_n = 0 for i in range(M): fireball[i] = list(map..

    [BaekJoon] 백준 16235번 나무 재테크

    [BaekJoon] 백준 16235번 나무 재테크 🎈문제 https://www.acmicpc.net/problem/16235 💬설명 원래는 trees 배열에 [[x, y, 나무 나이], ...] 이런식으로 저장했는데 시간 초과가 나서 trees 배열을 3차원으로 해서 trees[x][y] = [나무들 나이] 이런식으로 바꿨다. 이런식으로 저장하게 되면 양분이 부족에서 나무가 죽게 되는 경우 뒤에 나무들을 굳이 체크하지 않아도 된다는 시간단축 효과가 있다. (나무들 더해줄 때 나이순으로 잘 추가해준다면) 처음에 구현자체는 빨리 했으나 시간 초과 때문에 다시 짜서 1시간 10분 정도 걸렸다. 👩‍💻코드 # BaekJoon16235.py import sys input = sys.stdin.readline N,..

    [BaekJoon] 백준 20058번 마법사 상어와 파이어스톰

    [BaekJoon] 백준 20058번 마법사 상어와 파이어스톰 🎈문제 https://www.acmicpc.net/problem/20058 💬설명 처음에 틀렸던 포인트 조건에 부합하면 얼음의 양을 감소시켜 줄 때, 루프를 통해 하나씩 돌게 되는데 루프에서 감소되서 0이 되는 경우 나중에 한번에 감소시켜줘야한다. 중간중간 감소시켜주면 뒤에 도는 부분에서 영향을 미쳐서 오답이 됨. 1시간 15분 정도 걸렸는데 초반에 회전하는 부분에서 잘못 풀었다가 다시 푸는 바람에 오래 걸렸다. 코드 자체도 효율적으로 푼 코드는 아니다. 다시 풀어봐야지 👩‍💻코드 # BaekJoon20058.py import copy from collections import deque n, Q = map(int, input().split(..

    [BaekJoon] 백준 20057번 마법사 상어와 토네이도

    [BaekJoon] 백준 20057번 마법사 상어와 토네이도 🎈문제 https://www.acmicpc.net/problem/20057 💬설명 1시간 10분 정도 걸렸다. 마지막에 % 계산을 잘못 해줘서 틀렸다가 다시 품 포인트는 1. 회오리 모양으로 돌기 2. 모래가 흩어질때 방향에 따라 어느 위치에 몇 퍼센트 퍼질지 였던 것 같다. 모두 방향만 잘 설정해주면 쉽게 풀 수 있다. 근데 그 방향을 설정하는게 꽤 까다로웠다,, 수학문제 느낌,, 👩‍💻코드 # BaekJoon20057.py N = int(input()) arr = [[] for _ in range(N)] for i in range(N): arr[i] = list(map(int, input().split())) dx = [0, 1, 0, -1..

    [BaekJoon] 백준 21611번 마법사 상어와 블리자드

    [BaekJoon] 백준 21611번 마법사 상어와 블리자드 🎈문제 https://www.acmicpc.net/problem/21611 💬설명 복잡한 구현 문제. 푸는데 2시간 정도 걸렸다. 구현은 1시간 안에 했는데 자꾸 틀렸다고 나와서 히든 테케에서 틀린 부분 찾는데 1시간 걸렸다. 어쨋든 스스로 풀었으니까 일단 만족,, 놓친 부분은 다음과 같다. 각각 step을 수행할 때 arr가 빈값인 경우 예외 처리 연속하는 구슬의 개수를 세거나 구슬을 그룹별로 묶을 때 마지막에 세줘야 하는 것을 빼먹음 👩‍💻코드 N, M = map(int, input().split()) board = [[] for _ in range(N)] for i in range(N): board[i] = list(map(int, inp..

    [BaekJoon] 백준 21610번 마법사 상어와 비바라기

    [BaekJoon] 백준 21610번 마법사 상어와 비바라기 🎈문제 https://www.acmicpc.net/problem/21610 💬설명 문제를 푸는데는 1시간 10분정도 걸렸고, 구현문제였다. 그대로 따라서 구현하면 되는데 마지막에 이전에 구름이 있는 위치면 새로운 구름이 생기면 안되는 조건에서 시간초과가 나서 헤맸다. if [i, j] in clouds로 하면 clouds 배열을 전부 다시 돌기 때문에 시간이 오래 걸린다. 따라서 visit 배열을 따로 만들어줘서 시간을 단축시켰다. 👩‍💻코드 # BaekJoon21610.py N, M = map(int, input().split()) arr = [[] for _ in range(N)] for i in range(N): arr[i] = list(..

    [BaekJoon] 백준 14889번 스타트와 링크

    [BaekJoon] 백준 14889번 스타트와 링크 🎈문제 https://www.acmicpc.net/problem/14889 💬설명 combination을 직접 구현해서 모든 조합을 구하고 각각에 대해 점수차를 구해줘서 최소값을 구해줬다. itertools 썼으면 금방 풀었을텐데 직접 구현하려다 보니 조금 오래걸린듯 하다,, 👩‍💻코드 # BaekJoon14889.py N = int(input()) arr = [[] for _ in range(N)] for i in range(N): arr[i] = list(map(int, input().split())) combi = [] result = float('inf') def calculate(team): global arr, N, result another..