[오늘의 백준] 다이얼, 크로아티아 알파벳, 그룹단어체커, 음계, 검증수

한지원·2021년 1월 6일

오늘은 뭔가 하루가 굉장히 짧다.. 그리 많은 일을 하진 않았는데 정신이 없어서 그런지 하루가 정돈되지 않은 느낌이었다.
매일 하루를 시작하기 전에 계획은 짜지만 그 계획을 모두 수행한적은 손에 꼽는다 ㅋ
그래서 좀 더 무리하게 계획을 짰더니 스스로 부담을 느꼈는가보다. 내일은 진심모드로 짜야지..
오늘은 백준에서 class1의 남은 모든 문제를 다 풀어버렸다. 어렵진 않지만 이번에도 더 효율적인 방법을 생각해보다가 시간을 꽤 많이 보냈다.

사실 부끄럽지만 학교에 다니면서도 알고리즘 공부를 할 때 더 나은 방법에 대해서 고민하며 짠 기억이 잘 없다. 그래서 필요 이상으로 긴 코드도 많았고 그런건 주석이 빼곡히 적혀있었다. 이제와서 몸에 익은 무언가를 바꿔보려니 좀 버벅대는 감이 있지만 그래도 방법을 하나씩 알아가는 재미가 쏠쏠하다.

오늘은 그냥 문제 기록만 하려 한다. 어제의 내가 오늘의 나에게 리뷰를 미뤘으니..ㅋ 오늘의 나는 내일의 나에게 ..


5622. 다이얼

word = input()
number_dict = {'2': 'ABC', '3': 'DEF', '4': 'GHI', '5': 'JKL',
               '6': 'MNO', '7': 'PQRS', '8': 'TUV', '9': 'WXYZ'}
number = ''
for i in word:
    for j in range(2, 10):
        alpha = number_dict[str(j)]
        if alpha.count(i) == 1:
            number += str(j)
            break
sum = 0
for i in number:
    sum += int(i)+1
print(sum)

2941. 크로아티아 알파벳

Croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
a = input()
for i in Croatia:
    a = a.replace(i, 'a')
print(len(a))

1316.그룹 단어 체커

n = int(input())
cnt = 0
for i in range(n):
    word = input()
    simple_word = word[0]
    for j in word:
        if simple_word[len(simple_word)-1] != j:
            simple_word += j
    if len(set(simple_word)) == len(simple_word):
        cnt += 1
print(cnt)

2920. 음계

play_note = list(map(int, input().split()))
ascending = [1, 2, 3, 4, 5, 6, 7, 8]
print('ascending') if ascending == play_note else print('descending') if list(
    reversed(ascending)) == play_note else print('mixed')

2474. 검증수

unique_num = list(map(int, input().split()))
sum = 0
for i in unique_num:
    sum += i ** 2
print(sum%10)

귀여운 자랑을 해보자면 ㅋㅋ

금장이 달렸다 ㅋㅋㅋㅋㅋ
사실 이게 어떻게 보이나 궁금해서 졸린 와중에 남은 문제를 다 풀어보았다..ㅎ
클래스1이지만 나름 뿌듯..ㅋ

내일은 그동안 문제 풀면서 알게 된 파이썬 기능들을 전반적으로 공부해보려 한다.
고로 내일의 백준은 없다❤

0개의 댓글