######### 백준 25083 새싹 ##########
str = ''' ,r'"7
r`-_ ,' ,/
\. ". L_r'
`~\/
|
|'''
print(str)
######### 백준 3003 킹,퀸,룩,비숍,나이트,폰 ##########
pin = [1,1,2,2,2,8]
find_pin = list(map(int, input().split()))
for i, j in zip(pin, find_pin):
print(i-j, end=" ")
######### 백준 2444 별 찍기7 ##########
# 시간 많이 잡아먹었다.... 출력 형식 때문에...
# 문제에선 뒷부분 스페이스 출력이 없는데 난 그 부분까지 출력되게 해놔서 주구장창 오류..
# 결국 메모장에 출력 대조하다가 알았다.
# 이제보니 어차피 for문을 2n 돌려야하는만큼 일일이 if 대조하는 것보다 두 개 쓰는게 나았을지도
n = int(input())
j = 0
for i in range(1, 2*n):
if i > n:
j += 2
print(" " * (n-(i-j)) + "*" * (2*(i-j)-1))
######### 백준 10988 팰린드롬인지 확인하기 ##########
s = input()
print(1 if s == s[::-1] else 0)
######### 백준 1157 단어 공부 ##########
from collections import Counter
s = input().upper()
val = Counter(s).most_common(2)
if len(s) == 1: print(val[0][0])
else: print("?" if val[0][1] == val[1][1] else val[0][0])
# #고수코드
# s = input().upper()
# max_idx = 0
# for i in range(26):
# cnt = s.count(chr(i+65))
# if max_idx < cnt:
# max_idx = cnt
# max_char = chr(i+65)
# elif max_idx == cnt:
# max_char = '?'
# print(max_char)
######### 백준 4344 평균은 넘겠지 (복습) ##########
# 파이썬은 오사오입인데 반해 채점은 사사오입 기준이라 계속 틀렸었다.
# 함수를 따로 지정하여 출력하면 됨을 스택오버플로우에서 찾았다.
# https://hleecaster.com/python-round/
def roundTraditional(val, digits):
return round(val+10**(-len(str(val))-1), digits)
import sys
for _ in range(int(input())):
count = 0
score_list = list(map(int, sys.stdin.readline().split()))
n = score_list.pop(0)
avg = sum(score_list)/n
for i in score_list:
if i > avg:
count += 1
print(f"{roundTraditional(count/n*100, 3)}%")
# 고수코드: 함수 추가 없이 뒷자리가 5가 되지 않도록 취해준 것 같다.
# print(f"{count / n * 100 + 1e-4:.3f}%")
######### 백준 2941 크로아티아 알파벳_실버5 ##########
# 30분 시간제한 (실패)
# 최초 코드
word = input()
count = 0
c_alphabet = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
for i in c_alphabet:
while word.find(i) > -1:
word = word.replace(i," ",1)
count += 1
word = word.replace(" ", "")
count += len(word)
print(count)
# 최종 코드
word = input()
c_alphabet = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
for i in c_alphabet:
word = word.replace(i," ")
print(len(word))
# 고수코드: 그냥 하나로 치환해버린 다음에 len으로 세버렸다. 손나바카나...
# for i in c_alphabet:
# word = word.replace(i,'*')
######### 백준 1316 그룹 단어 체커_실버5 ##########
# 30분 시간제한 (실패)
import sys
cnt = 0
for _ in range(int(input())):
arr = [0] * 26
error = 0
word = sys.stdin.readline().rstrip()
for i in range(len(word)):
index = ord(word[i]) - ord('a')
if word[i-1] == word[i]:
arr[index] = 0
elif arr[index] == 1:
error += 1
break
arr[index] = 1
if error == 0:
cnt += 1
print(cnt)
#고수코드: x.find가 뭔지 찾진 못했는데 맥락으로 이해했다.
# print(sum([*x]==sorted(x,key=x.find)for x in open(0))-1)
# 해석
# sorted(x,key=x.find) 이 함수로 각 char에 대해 정렬
# [*x] 와 동등비교연산을 통해 bool값 리턴하고 true(1) 값 합산
######### 백준 25206 너의 평점은_실버5 ##########
import sys
major_sum = 0
grade_sum = 0
score_board = {"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}
for _ in range(20):
_, credit, grade = sys.stdin.readline().split()
if grade == "P": continue
grade_sum += float(credit)
major_sum += float(credit) * score_board[grade]
print(major_sum/grade_sum)
#고수코드: 0~4.5까지 인덱스를 2로 나누면 학점이 나온다
g = ['F','X','D0','D+','C0','C+','B0','B+','A0','A+']
print(g.index("A0")/2)
라이브러리 의존적인 사람이 되지 말자!
'알고리즘 > 백준' 카테고리의 다른 글
백준_단계별로 풀어보기_8단계_일반 수학 1 (0) | 2023.06.28 |
---|---|
백준_단계별로 풀어보기_7단계 2차원 배열 (0) | 2023.06.21 |
백준_단계별로 풀어보기_5단계 문자열 (0) | 2023.06.15 |
백준_단계별로 풀어보기_4단계 1차원 배열 (0) | 2023.06.13 |
백준_단계별로 풀어보기_3단계 반복문 (0) | 2023.06.12 |