https://www.acmicpc.net/problem/10546 10546번: 배부른 마라토너 문제 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, www.acmicpc.net N = int(input()) name = list(input() for _ in range(N)) success = list(input() for _ in range(N-1)) tmp = {} for i in range(N): if name[i] not in tmp: tmp[name[i]] = 1 else: cnt = tmp[name[i]] tmp[name[i]] = cnt + 1 for..
https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net word = list(input()) length = len(word) reverse = [] for i in range(length-1, -1, -1): reverse.append(word[i]) if word == reverse: print(1) else: print(0)
https://www.acmicpc.net/problem/10026 10026번: 적록색약 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G( www.acmicpc.net from collections import deque # 상, 하, 좌, 우 dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] def bfs(x, y): q.append([x, y]) check[x][y] = 1 while(q): x, y = q.popleft() for i in range(4): nx, ny = x + dx[i], y + dy[i] if 0
https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n(1 ≤ n ≤ 100)이 주어지고 둘째 줄에는 버스의 개수 m(1 ≤ m ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 � www.acmicpc.net import sys # Inf의 범위가 작으면 틀릴 수 있으니 주의!! Inf = 100000000 n = int(sys.stdin.readline()) m = int(sys.stdin.readline()) d = [[Inf] * n for _ in range(n)] for i in range(m): a, b, c = map(int, sys.stdin.readline..
https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net import sys N = int(sys.stdin.readline()) s = [] check = [0] * N def dfs(v): for i in range(N): if check[i] == 0 and s[v][i] == 1: check[i] = 1 dfs(i) for i in range(N): s.append(list(map(int, sys.stdin.readline().split()))) for i in range(N): dfs(..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net import sys N, M = map(int, sys.stdin.readline().split()) r, c, d = map(int, sys.stdin.readline().split()) s = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] #현재 위치 x ..
https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net import sys N = str(sys.stdin.readline()) N = N.replace('9', '6') res = 0 for i in range(9): cnt = N.count(str(i)) if i == 6: cnt = (cnt // 2 + cnt % 2) if res < cnt: res = cnt print(res)
https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net import sys from collections import deque N = int(sys.stdin.readline()) s = [[0] * N for _ in range(N)] for _ in range(int(sys.stdin.readline())): r, c = map(int, sys.stdin.readline().split()) s[r-1][c-1] = 1 change = [] L = int..