백준 11655번 ROT13 파이썬 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 내 답안 answer = '' for i in input(): if i.isupper(): if (65 BOJ/Python 2022.02.24
백준 10798번 세로읽기 파이썬 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 답안 graph = [] Max = 0 answer = '' for _ in range(5): graph.append(list(input())) for i in range(5): if Max < len(graph[i]): Max = len(graph[i]) for i in range(Max): for j in range(5): try: answer += graph[j][i] except I.. BOJ/Python 2022.02.23
백준 1100번 하얀칸 파이썬 https://www.acmicpc.net/problem/1100 답안 graph = [] cnt = 0 for _ in range(8): graph.append(list(input())) for i in range(0, 8, 2): # 0 2 4 6 for j in range(0, 8, 2): if graph[i][j] == 'F': cnt += 1 for i in range(1, 9, 2): # 1 3 5 7 for j in range(1, 9, 2): if graph[i][j] == 'F': cnt += 1 print(cnt) 하얀 칸만 체크해 주면 되기 때문에 2중 for 문으로 해결하였다. BOJ/Python 2022.02.23
백준 10808번 알파벳 개수 파이썬 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 답안 x = [0] * 26 for i in input(): x[ord(i)-97] += 1 for i in x: print(i, end = ' ') https://thingjin.tistory.com/entry/%EB%B0%B1%EC%A4%80-10809%EB%B2%88-%EC%95%8C%ED%8C%8C%EB%B2%B3-%EC%B0%BE%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC 백준 10809번 알파벳 찾기 파이썬 https://www.acmicpc.net/prob.. BOJ/Python 2022.02.23
백준 2902번 KMP는 왜 KMP일까? 파이썬 https://www.acmicpc.net/problem/2902 2902번: KMP는 왜 KMP일까? 입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드 www.acmicpc.net 답안 print(''.join([i for i in input() if i.isupper()])) 처음엔 두가지 방법으로 풀었다. 1. 아스키 코드 활용 x = input() answer = '' for i in x: if ord(i) >= 65 and ord(i) BOJ/Python 2022.02.22
백준 2468번 안전 영역 파이썬 DFS https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 내 답안 import copy import sys sys.setrecursionlimit(10 ** 6) def dfs(x, y): if x = N or x >= N: return False if native_graph[x][y] == 1: native_graph[x][y] = 0 dfs(x - 1, y) dfs(x, y - 1) dfs(x + 1, y) dfs(x, y.. BOJ/Python 2022.02.22
백준 10699번 오늘 날짜 파이썬 https://www.acmicpc.net/problem/10699 10699번: 오늘 날짜 서울의 오늘 날짜를 출력하는 프로그램을 작성하시오. www.acmicpc.net 답안 import datetime d_today = datetime.date.today() print(d_today) datetime 라이브러리에 관한 글은 나중에 따로 올리겠습니다. BOJ/Python 2022.02.16
백준 2178번 미로 탐색 파이썬 BFS https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 내 답안 from collections import deque def bfs(x, y): queue = deque() queue.append((x, y)) while queue: x, y = queue.popleft() for i in range(4): # 상하좌우 탐색 nx = x + dx[i] ny = y + dy[i] # 범위를 벗어나면 무시 if nx = n or ny >= m: co.. BOJ/Python 2022.02.15
백준 10815번 숫자 카드 파이썬 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 답안 def BS(target, data): start = 0 end = len(data)-1 while start BOJ/Python 2022.02.14
백준 2609번 최대공약수와 최소공배수 파이썬 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 답안 def gcd(m, n): # 최대공약수 함수 if n == 0: return m return gcd(n,m%n) m, n = map(int, input().split()) print(gcd(m, n)) # 최대 공약수 print(m*n//gcd(m, n)) # 최소 공배수 이산 수학을 공부하면서도 배웠지만 최소공약수 구하는 것은 유클리드 호제법을 참고하여 알고리즘을 짜면 된다. 방법은 여러 가지로 볼 수 있지만 나는 유클리드 호제법을 사용하여 문제를 풀었다.. BOJ/Python 2022.02.11