[백준] python 기초알고리즘 7.문자열
BOJ 11654 - 아스키 코드
x = str(input())
print(ord(x))
A
65
BOJ 11720 - 숫자의 합
input()
x = int(input())
a = sum(map(int, str(x)))
print(a)
11
10987654321
46
BOJ 10809 - 알파벳 찾기
x = list(map(str,input()))
a = [-1 for i in range(26)]
# 각 인덱스 위치는 ASCII 코드 -65
for j in range(len(x)):
index = ord(x[j])-97
if a[index] == -1:
a[index] = j
print(" ".join(map(str,a)))
baekjoon
1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
BOJ 2675 - 문자열 반복
n = int(input())
for i in range(n):
r, x = input().split(' ')
a = list(map(str,x))
p = []
for j in range(len(a)):
for _ in range(int(r)):
p.append(a[j])
print("".join(p))
2
3 ABC
AAABBBCCC
5 /HTP
/////HHHHHTTTTTPPPPP
BOJ 1157 - 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
# 65~122
x = list(map(str,input()))
a = [0]*91
result = ''
for i in range(len(x)):
index = ord(x[i])
if ord(x[i]) > 90:
index -= 32
a[index] += 1
# 리스트 안에 중복값이 존재하는 경우 알아내기
max_count = 0
for j in range(len(a)):
if max(a) == a[j]:
max_count +=1
if max_count > 1:
result = '?'
# 리스트 중 가장 큰 값의 index 구하기
else:
result = chr(a.index(max(a)))
print(result)
# 입력 : Mississipi
# 출력 : ?
# 입력 : baaa
# 출력 : A
BOJ 1152 - 단어의 개수
영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
x = list(map(str,input().strip().split(' ')))
# 단어 없이 띄어쓰기만 있는 경우를 생각해야 한다.
if x == ['']:
print(0)
else:
print(len(x))
# 입력 : Mazatneunde Wae Teullyeoyo
# 출력 : 3
BOJ 2941 - 크로아티아 알파벳
x = list(input())
v = [x[0]]
for i in range(1,len(x)):
if x[i]=='=':
v.pop()
if x[i-1]=='c':
v.append('c=')
elif x[i-1]=='s':
v.append('s=')
else: #z=이거나 dz=일때
if i>=2 and x[i-2]=='d':
v.pop()
v.append('dz=')
else:
v.append('z=')
elif x[i]=='-':
v.pop()
if x[i-1]=='c':
v.append('c-')
else:
v.append('d-')
elif x[i]=='j':
if x[i-1]=='l':
v.pop()
v.append('lj')
elif x[i-1]=='n':
v.pop()
v.append('nj')
else:
v.append('j')
else:
v.append(x[i])
print(len(v))
BOJ 1316 - 그룹 단어 체커
n = int(input())
count = 0
def checker(x):
v = [0]*123
for i in range(len(x)):
if v[ord(x[i])]==0:
v[ord(x[i])]=1
else:
if x[i-1]!=x[i]:
return False
return True
for _ in range(n):
x = list(input())
if checker(x):
count += 1
print(count)
댓글남기기