[TIL_Carrotww] 4

μœ ν˜•μ„Β·2022λ…„ 9μ›” 1일
0

TIL

λͺ©λ‘ 보기
4/138
post-thumbnail

πŸ“κ³΅λΆ€ ν•œ 것

🧲 μ•Œκ³ λ¦¬μ¦˜

πŸ” λ°±μ€€ μ•Œκ³ λ¦¬μ¦˜ ν•œ 수 1065번
https://www.acmicpc.net/problem/1065

πŸ’‘ 풀이

temp = int(input())

result = [x for x in range(1, temp + 1)]

cnt = 0
def fun1(result):
    global cnt
    while result:
        num = str(result.pop())
        if len(num) == 1 or len(num) == 2:
            cnt += 1
            continue
        num_list = [int(x) for x in num]
        if num_list[1] - num_list[0] == num_list[2] - num_list[1]:
            cnt += 1
    return cnt

print(fun1(result))

πŸ”— ν•΄μ„€

λ”±νžˆ ν•΄μ„€ 뢀뢄이 μ—†λŠ” 것같닀.
μž…λ ₯값이 1000 μ΄ν•˜μ˜€λŠ”λ° λ§Œμ•½ μžλ¦Ώμˆ˜κ°€ λ§Žμ•„μ§„λ‹€λ©΄

num_list[1] - num_list[0] == num_list[2] - num_list[1]:

μœ„μ™€ 같은 μ‹μœΌλ‘œ 짜면 μ•ˆλœλ‹€.
ν•˜μ§€λ§Œ μžλ¦Ώμˆ˜κ°€ 3자리 μ΄ν•˜λ‹ˆκΉŒ... 1, 2μžλ¦¬λŠ” cnt += 1 처리λ₯Ό ν•˜κ³  3μžλ¦¬λŠ” μœ„ if 문에 걸리게 ν•˜μ˜€λ‹€.

🧲 [μ•Œκ³ λ¦¬μ¦˜] κ°€μž₯ λ§Žμ€λ‚˜μ˜¨ 문자 μ°ΎκΈ°

πŸ” μ•„λž˜ μž…λ ₯이 λ“€μ–΄μ™”μ„λ•Œ κ°€μž₯ 많이 μž…λ ₯된 μ•ŒνŒŒλ²³ 좜λ ₯

input = "hello my name is sparta"

πŸ’‘ 풀이

from collections import defaultdict

input = "hello my name is sparta"

def find_max_occurred_alphabet(string):
    result = defaultdict(int)
    string = ''.join(string.split())
    for i in string:
        result[i] += 1
    test = [[key, val] for key, val in result.items()]
    temp = test[0]

    for x, y in test:
        if temp[1] <= y:
            temp[0], temp[1] = x, y

    return temp[0]
result = find_max_occurred_alphabet(input)
print(result)

πŸ”— ν•΄μ„€

  1. defaultdict(int) 둜 0으둜 μ΄ˆκΈ°ν™”λœ dictionaryλ₯Ό λ§Œλ“  ν›„ split() ν•¨μˆ˜λ‘œ 빈 문자λ₯Ό 잘라 μ£Όμ—ˆλ‹€
  2. κ·Έ λ‹€μŒ result에 μ €μž₯된 μ•ŒνŒŒλ²³λ“€μ„ 돌리며 temp에 첫 문자λ₯Ό μ €μž₯ ν›„ μ΅œλŒ“κ°’ 찾은 ν›„ 좜λ ₯
profile
Carrot_hyeong

0개의 λŒ“κΈ€