X = str(input())
print(ord(X))
N = int(input())
X = str(input())
X_list = list(X)
sum = 0
for i in range(N):
sum += int(X_list[i])
print(sum)
# 입력 받은 문자열
S = str(input())
# 리스트에 담아주기 (인덱스 찾기 위함)
S_list = list(S)
# 정답 출력값
ans = ''
#아스키 코드값을 이용하여 알파벳 소문자 a부터 z까지 반복
for i in range(97, 123):
alphabet = chr(i)
# 문자열에 포함된 알파벳은 인덱스 찾아서 넣어주기
if alphabet in S:
ans += str(S_list.index(alphabet)) + ' '
else:
ans += '-1 '
#마지막으로 들어간 공백은 제거하여 출력하기
print(ans[:-1])
import sys
N = int(input())
for i in range(N):
R, S = map(str, sys.stdin.readline().split())
S_list = list(S)
ans = ''
for i in S_list:
ans += i * int(R)
print(ans)
S = str(input())
SL = list(S)
CheckList = list()
ans = ''
#CheckList에 대문자로 변환된 아스키 코드값을 저장한다.
for i in SL:
i = ord(i)
#소문자의 경우 32를 빼줌으로써 대문자로 변환하여 저장
if int(i) >= 97:
CheckList.append(int(i) - 32)
else:
CheckList.append(i)
#set으로 변환하여 중복되는 값을 지워준다.
CheckSet = set(CheckList)
#최대 중복된 수
maxCnt = -1
#최대 중복된 값
maxEle = 0
for x in CheckSet:
if CheckList.count(x) > maxCnt:
maxCnt = CheckList.count(x)
maxEle = x
ans = chr(maxEle)
#만약 최대 중복된 수 가 같다면 제출 문자열을 ?로 바꿔준다.(후에 최대 중복된 수 가 갱신될 때 바뀐다.
elif CheckList.count(x) == maxCnt:
ans = '?'
print(ans)
# split()은 공백을 기준으로 구분함
strList = list(map(str, input().split()))
print(len(strList))
strList = list(map(str, input().split()))
A = list()
B = list()
for i in range(3):
A.append(strList[0][2 - i])
B.append(strList[1][2 - i])
a = A[0] + A[1] + A[2]
b = B[0] + B[1] + B[2]
if int(a) > int(b):
print((a))
else:
print(int(b))
+) 문자열, 리스트, 튜플 등을 역순으로 출력하는 [:: -1]
strList = list(map(str, input().split()))
# 입력된 각 문자열 거꾸로 저장하기
A = strList[0][::-1]
B = strList[1][::-1]
if int(A) > int(B):
print(int(A))
else:
print(int(B))
이중 반복문 사용하기
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
S = str(input())
ans = 0
for j in range(len(S)):
for i in dial:
if S[j] in i:
ans += dial.index(i) + 3
+) 아스키코드로 분류하기
S = str(input())
SL = list(S)
AL = list()
ans = 0
for s in SL:
if 65 <= ord(s) < 68:
AL.append(2)
if 68 <= ord(s) < 71:
AL.append(3)
if 71 <= ord(s) < 74:
AL.append(4)
if 74 <= ord(s) < 77:
AL.append(5)
if 77 <= ord(s) < 80:
AL.append(6)
if 80 <= ord(s) < 84:
AL.append(7)
if 84 <= ord(s) < 87:
AL.append(8)
if 87 <= ord(s) < 91:
AL.append(9)
for a in AL:
ans += int(a) + 1
print(ans)
croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
s = input()
for i in croatia :
# croatia 리스트의 element에 해당하는 문자열을 공백으로 바꿔줌
s = s.replace(i, ' ')
print(len(s))
10) 1316번 그룹 단어 체커
처음에 너무 복잡하게 생각하다가 누군가 정리해둔 필수 체크 조건만을 넣어서 완성했다. 그 두가지 조건은 <현재 문자가 이미 나온적 있고>, <바로 이전문자 인가> 이다. 처음 작성한 코드는 현재 게시판에서 열심히 반례를 찾아봤으나 아직 못찾았다. 코드가 길어지면 그에 따른 예외를 더욱 많이 막아야하기에 간단하게 로직을 정리하는 연습을 해야겠다.
참조: https://www.acmicpc.net/board/view/26273
N = int(input())
cnt = 0
for i in range(N):
s = input()
# 입력된 문자열을 한글자 씩 담아줄 리스트
check = list()
# 먼저 카운트를 +=1 해주고 체커에서 -=1 해주기
cnt += 1
for i in s:
check.append(i)
# 현재 문자열이 들어가기 전 리스트에 현재 문자열이 있는지
if i in check[:-1]:
# 리스트에 element가 2개 이상인지 (아닐 시 인덱스 에러)
if len(check) >= 2:
# 이미 현재 문자열이 있는데, 이전 문자와 다르다면 이는 그룹단어가 아니다. 따라서 -=1
if check[-2] != check[-1]:
cnt -= 1
break
print(cnt)
#아직 반례를 못찾은 첫번 째 제출 답안 (오답)
#입력 받은 문자열을 돌며 해당 문자열의 모든 인덱스 추출하여 리스트에 담고
#이 리스트를 돌며 바로 옆의 ele의 차이가 1이 아닐경우 cnt-=1해주는 로직이었다.
N = int(input())
cnt = 0
for i in range(N):
cnt += 1
s = input()
sset = set(s)
indexList = list()
ill = list()
for j in sset:
index = 0
while index > -1:
index = s.find(j, index)
if index > -1:
indexList.append(index)
index += len(j)
ill.append(indexList)
indexList = list()
#print(ill)
for k in ill:
if len(k) >= 2:
for t in range(1, len(k)):
if k[len(k)-t] - k[len(k)-t-1] == 1:
continue
else:
cnt -= 1
break
if cnt == 0:
break
print(cnt)