목록전체 글 (75)
T-coding

https://www.acmicpc.net/problem/4198 4198번: 열차정렬 에린은 엔지니어이자, 기차를 운전하는 기관사입니다. 또한 그녀는 각 열차를 구성하는 차량을 배열하는 일도 합니다. 그녀는 차량들을 정렬할 때, 열차의 전면에 가장 무거운 차량을 놓고, 후 www.acmicpc.net 코드 더보기 n = int(input()) arr = [int(input()) for _ in range(n)] dp1 = [0 for _ in range(n)] dp2 = [0 for _ in range(n)] ans = 0 for i in reversed(range(n)): for j in range(i + 1, n): if arr[j] > arr[i]: dp2[i] = max(dp2[i], dp2[j..

https://www.acmicpc.net/problem/3186 3186번: 소변기 입력의 첫 번째 줄은 세 정수 K, L, N (1 ≤ K, L ≤ 1000, 1 ≤ N ≤ 10,000)이 있다. 두 번째 줄은 0과 1로 이루어진 길이 N의 수열이 주어진다. 이것은 주어진 시간에 센서가 기록하는 데이터를 나타낸다 www.acmicpc.net 코드 더보기 import re k, l, n = map(int, input().split()) s = input() arr = [st.end() - 1 for st in re.finditer('1' * k, s)] ans = [] if len(arr) == 0: print("NIKAD") exit() for i in range(len(arr) - 1): if s[..

https://www.acmicpc.net/problem/14467 14467번: 소가 길을 건너간 이유 1 3번 소는 위치 1, 0, 1에서 관찰되었으므로 길을 최소 두 번 건넜음을 확인할 수 있다. 4번 소도 길을 한 번 건넜으며, 나머지 소는 길을 건넌 기록이 확인되지 않는다. www.acmicpc.net 코드 더보기 n = int(input()) arr = {} ans = 0 for i in range(n): a, b = map(int, input().split()) if a not in arr: arr[a] = b else: if arr[a] != b: arr[a] = b ans += 1 print(ans)

https://www.acmicpc.net/problem/3024 3024번: 마라톤 틱택토 상근(Albert), 민혁(Barbara), 선영(Casper), 창영(Dinko), 현진(Eustahije)이가 마라톤 틱택토 게임을 하려고 한다. 이 게임은 N×N 보드에서 진행한다. 맨 처음에 보드의 모든 칸은 비어있다. 플레이어는 턴을 www.acmicpc.net 코드 더보기 n = int(input()) arr = [input() for _ in range(n)] if n < 3: print('ongoing') exit() for i in range(n - 2): for j in range(n - 2): if arr[i][j] != '.': if arr[i][j] == arr[i + 1][j + 1] =..

https://www.acmicpc.net/problem/2784 2784번: 가로 세로 퍼즐 6개 단어를 3*3 가로 세로 퍼즐에 놓을 수 없다면 0을 출력한다. 그렇지 않다면, 3개 줄에 퍼즐을 출력한다. 만약 가능한 답이 여러개라면 사전순으로 앞서는 것을 출력한다. 사전순으로 비교를 할 www.acmicpc.net 코드 더보기 arr = [input() for _ in range(6)] arr.sort() ans_list = [] for i in range(6): for j in range(6): for k in range(6): if i == j or i == k or j == k: continue temp = [arr[i], arr[j], arr[k]] temp2 = temp.copy() for..

https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 코드 더보기 n = int(input()) num = int(input()) dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] arr = [[0 for _ in range(n)] for _ in range(n)] direction = 0 cnt = 1 rep = 1 x, y = n // 2, n // 2 ans_y, ans_x = 0, 0 while cnt

https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 코드 더보기 from collections import deque def bfs(y, x, color): cnt = 1 q = deque() q.append((y, x)) visited[y][x] = True while q: y, x = q.popleft() for i in range(4): ny = y + dy[i] nx = x + dx[i] if 0

https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 코드 더보기 n, r, c = map(int, input().split()) ans = 0 for i in reversed(range(n)): if r < 2 ** i and c < 2 ** i: ans += (2 ** i) * (2 ** i) * 0 elif r < 2 ** i