오늘도 그리디 한 문제와 구현 문제를 풀었다. 구현에 대한 부분이 숙련되고 있음이 느껴진다. 다음 업로드부터는 dfs,bfs알고리즘을 학습하고 관련 문제를 풀어보도록 하겠다.
백준 1339번 단어 수학
import sys
N = int(sys.stdin.readline())
word_list = []
dic={}
for _ in range(N):
word_list.append(sys.stdin.readline().strip())
for alpha in word_list:
cnt = len(alpha)
for i in alpha:
if i not in dic:
dic[i] = (10**(cnt-1))
else:
dic[i] += (10**(cnt-1))
cnt-=1
dic_val = list(dic.values())
dic_val.sort(reverse=True)
res = 0
num = 9
for i in dic_val:
res += i*num
num-=1
print(res)
백준 10926번 ??!
import sys
N = sys.stdin.readline().strip()
print(N+'??!')
백준 11866번 요세푸스 문제 0
import sys
N,K = map(int,sys.stdin.readline().split())
num_list = []
for i in range(1,N+1):
num_list.append(i)
print('<', end='')
while num_list:
for i in range(K-1):
num_list.append(num_list[0])
num_list.pop(0)
print(num_list.pop(0), end='')
if len(num_list)>0:
print(', ', end='')
print('>')
백준 2443번 별 찍기 - 6
import sys
N = int(sys.stdin.readline())
star = '*'
blank = ' '
count = 2*N-1
for j in range(N):
print(blank*(j) + star*count)
count -= 2
백준 2444번 별 찍기 - 7
import sys
N = int(sys.stdin.readline())
star = '*'
blank = ' '
count = 1
for i in range(N):
print(blank*(N-i-1) + star*count)
count += 2
count -= 4
for j in range(1,N):
print(blank*(j) + star*count)
count -= 2
백준 2490번 윷놀이
import sys
N1 = list(map(int,sys.stdin.readline().split()))
N2 = list(map(int,sys.stdin.readline().split()))
N3 = list(map(int,sys.stdin.readline().split()))
def wood(x):
if x==1:
return print('A')
elif x==2:
return print('B')
elif x==3:
return print('C')
elif x==4:
return print('D')
else:
return print('E')
wood(N1.count(0))
wood(N2.count(0))
wood(N3.count(0))