본문 바로가기

파이썬103

백준 1018 체스판 다시 칠하기 python n, m = map(int,input().split()) board = [] res = [] for i in range(n): board.append(input()) for x in range(n-7): for y in range(m-7): # 8X8로 자르기 위해 -7 board_w = 0# 흰색으로 시작 board_b = 0# 검은색으로 시작 for i in range(x, x+8):# 시작점(x축) for j in range(y, y+8):# 시작점(y축) -> (x, y) if (i+j) % 2 == 0:# 짝수일때 if board[i][j] != 'W':# W가 아니면 board_w += 1# W로 칠하는 개수 증가 else: # W일 때 board_b += 1# B로 칠하는 개수 증가 else.. 2023. 9. 23.
백준 3052 나머지 python arr = [] cnt = 0 for i in range(10): a = int(input()) remain = a % 42# 나머지를 받아서 arr.append(remain)# 배열에 append lst = list(set(arr))# 배열을 리스트로 바꿔서 set을 통해 중복 제거 for i in range(len(lst)): cnt += 1 print(cnt) 2023. 9. 23.
백준 16170 오늘의 날짜는? python utcnow()를 사용하여 손쉽게 UTC 시간을 구할 수 있다. import datetime s = datetime.datetime.utcnow() print(s.year) print(s.month) print(s.day) https://www.acmicpc.net/problem/16170 16170번: 오늘의 날짜는? 지금 시각을 UTC+0(세계 표준시)을 기준으로 나타냈을 때의 연도, 월, 일을 한 줄에 하나씩 순서대로 출력한다. www.acmicpc.net 2023. 9. 23.
백준 10808 알파벳 개수 python n = input() alphabet = {'a':0, 'b':0, 'c':0, 'd':0, 'e':0, 'f':0, 'g':0, 'h':0, 'i':0, 'j':0, 'k':0, 'l':0, 'm':0, 'n':0, 'o':0, 'p':0, 'q':0, 'r':0, 's':0, 't':0, 'u':0, 'v':0, 'w':0, 'x':0, 'y':0, 'z':0} for i in n: alphabet[i] += 1 for i in alphabet.values(): print(i, end = ' ') https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicp.. 2023. 9. 20.
백준 11721 열 개씩 끊어 출력하기 python n = str(input()) for i in range(len(n)): print(n[i], end = '') if i % 10 == 9:#index는 0부터 시작하므로 9번까지 출력하고 줄바꿈 print() https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 2023. 9. 20.
백준 1924 2007년 python #---1--- 배열 thirtyone = [1, 3, 5, 7, 8, 10, 12] thirty = [4, 6, 9, 11] february = [2] def days(a): if a % 7 == 0: print("SUN") elif a % 7 == 1: print("MON")# 1월 1일이 MON이므로 나머지가 1인 경우 MON elif a % 7 == 2: print("TUE") elif a % 7 == 3: print("WED") elif a % 7 == 4: print("THU") elif a % 7 == 5: print("FRI") elif a % 7 == 6: print("SAT") x, y = map(int, input().split()) tot = 0 for i in range(1, x).. 2023. 9. 19.
백준 1676 팩토리얼 0의 개수 python 부분 코드 import math #factorial()사용 위해 num = str(math.factorial(n)) # int로 받은 n의 factorial값을 구해주고 문자열로 처리 reverse_num = str(int(num[::-1])) # 문자열 처리 된 num을 뒤집고 다시 정수형으로 # -> 여기서 맨 뒤의 0이 앞으로 가면서 0이 사라짐 # ex : 80600 -> 608 # 그리고 다시 num이랑 똑같이 문자열로 변환 cnt = len(num) - len(reverse_num) # num의 길이와 reverse_num의 길이의 차 # reverse 하면서 0의 개수만큼 길이가 줄었기 때문에 전체 코드 import math cnt = 0 n = int(input()) num = str(ma.. 2023. 9. 17.
백준 2563 색종이 python 0으로 초기화 된 2차원 배열에 이중 for문을 돌려서 색칠 범위에 해당하는 배열의 값을 1로 변환. for문을 돌려서 1이 들어 있는 배열의 개수 구하기 paper = [[0]*100 for _ in range(100)] area = 0#색칠된 영역(넓이) for n in range(int(input())): x, y = map(int, input().split()) for i in range(x, x+10): for j in range(y, y+10): paper[i][j] = 1 for k in range(100): area += paper[k].count(1) print(area) https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 10.. 2023. 9. 17.
백준 10798 세로 읽기 python 문제 아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. A A B C D D a f z z 0 9 1 2 1 a 8 E W g 6 P 5 h 3 k x 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다. 심심.. 2023. 9. 17.