Algorithm/BAEKJOON 21

BOJ / Python / 🥈5 / 2720번 / 세탁소 사장 동혁

# 첫째 줄에 테스트 케이스의 개수 T가 주어진다. T = int(input()) for _ in range(T): # 각 테스트 케이스는 거스름돈 C를 나타내는 정수 하나로 이루어져 있다. C = int(input()) # 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01) for i in [25, 10, 5, 1]: # 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. print(C // i, end=' ') C = C % i

Algorithm/BAEKJOON 2023.05.28

BOJ / Python / 🥈5 / 25206번 / 너의 평점은

rating = {"A+": 4.5, "A0": 4.0, "B+": 3.5, "B0": 3.0, "C+": 2.5, "C0": 2.0, "D+": 1.5, "D0": 1.0, "F": 0.0} rate = 0 scoreSum = 0 for _ in range(20): # 20줄에 걸쳐 치훈이가 수강한 전공과목의 과목명, 학점, 등급이 공백으로 구분되어 주어진다. subject, score, grade = input().split() # P/F 과목의 경우 등급이 P또는 F로 표시되는데, 등급이 P인 과목은 계산에서 제외해야 한다. if grade == "P": continue rate += float(score) * rating[grade] scoreSum += float(score) # 치훈이의 전공평..

Algorithm/BAEKJOON 2023.05.26

BOJ / Python / 🥈5 / 1316번 / 그룹 단어 체커

# 첫째 줄에 단어의 개수 N이 들어온다. N = int(input()) # 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. group_word = N for _ in range(N): word = input() for i in range(len(word)-1): # 그룹 단어인 경우 if word[i] == word[i+1]: continue # 그룹 단어가 아닌 경우 elif word[i] in word[i+1:]: group_word -= 1 break # 첫째 줄에 그룹 단어의 개수를 출력한다. print(group_word)

Algorithm/BAEKJOON 2023.05.25

BOJ / Python / 🥉1 / 10798번 / 세로읽기

# 총 다섯줄의 입력이 주어진다. words = [input() for i in range(5)] # 세로로 읽을 때, 각 단어의 첫 번째 글자들을 위에서 아래로 세로로 읽는다. # 다음에 두 번째 글자들을 세로로 읽는다. # 이런 식으로 왼쪽에서 오른쪽으로 한 자리씩 이동 하면서 동일한 자리의 글자들을 세로로 읽어 나간다. # 세로로 읽을 때 해당 자리의 글자가 없으면, 읽지 않고 그 다음 글자를 계속 읽는다. for i in range(15): for j in range(5): if i < len(words[j]): # 영석이가 세로로 읽은 순서대로 글자들을 출력한다. print(words[j][i], end='')

Algorithm/BAEKJOON 2023.05.22

BOJ / Python / 🥉5 / 2738번 / 행렬 덧셈

# N*M 크기의 두 행렬 A와 B A, B = [], [] # 첫째 줄에 행렬의 크기 N 과 M이 주어진다. N, M = map(int, input().split()) # 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. for row in range(N): row = list(map(int, input().split())) A.append(row) # 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. for row in range(N): row = list(map(int, input().split())) B.append(row) # 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. for row in range(N): for col in range(M): ..

Algorithm/BAEKJOON 2023.05.22

BOJ / Python / 🥉1 / 1157번 / 단어 공부

# 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. word = input().upper() # 중복된 문자 값 제거 word_list = list(set(word)) # 빈 리스트 생성 cnt = [] # count 함수를 통해 입력받은 문자열 내 알파벳 개수를 빈 리스트에 입력 for i in word_list: count = word.count(i) cnt.append(count) # 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. # 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. if cnt.count(max(cnt)) > 1: print("?") else: print(word_list[(cnt.index(max(cnt)))])

Algorithm/BAEKJOON 2023.05.22