백준 1157번
def max_cahr(inp):
asc = []
n = []
for i in range(65, 91): # 32
asc.append(i)
n.append(0)
# for j in range(97, 123):
# asc.append(j)
# n.append(0)
for a in inp:
for idx, c in enumerate(asc): # ascii = int? str?
if c == ord(a) :
n[idx] += 1
if c+32 == ord(a) :
n[idx] += 1
max_n = []
for id, k in enumerate(n):
if k == max(n):
max_n.append(k)
index = id
if len(max_n) > 1 :
return '?'
return chr(asc[index])
inp = input()
c = max_cahr(inp)
print(c)
백준 1152번
def num_word(inp):
inp = inp.strip()
n = 0
if len(inp) == 0 :
return n
for c in inp:
if c == ' ':
n +=1
return n+1
inp = input()
num = num_word(inp)
print(num)
** 예외처리가 중요하다!
인풋이 아예 빈칸 일 때 와 1 단어일때, 혹은 ' ' 일때 의 예외 처리가 필요하다
str = list(map(str, input().split()))
print(len(str))
* 충격적으로 쉬운 방법....
백준 2908번
def sangsu(a, b):
A = ''
B = ''
for i in a :
A = i + A
for j in b :
B = j + B
if int(A) > int(B):
out = A
else:
out = B
return out
a, b = input().split()
out = sangsu(a, b)
print(out)
* 파이썬 내장함수 없이 str 반전
a, b = input().split()
A=''.join(reversed(a))
B=''.join(reversed(b))
print(A if int(A) > int(B) else B)
* 더 쉬운 방법 : 파이썬 내장함수 reversed() 를 사용한다.
[참조]
https://www.delftstack.com/ko/howto/python/reverse-a-string-python/
'백준 단계별 코딩 테스트' 카테고리의 다른 글
쉬운 문제부터 여러개 풀어보기! - 진수 (0) | 2021.11.14 |
---|---|
다이얼 문제 (0) | 2021.11.11 |
문자열 1 (0) | 2021.09.20 |
함수 구현 (0) | 2021.09.16 |
1차원 배열 2 (0) | 2021.09.12 |