단어, S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하라.
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 S가 주어진다. 단어의 길이는 최대 1000이다. 둘째 줄에 정수 i가 주어진다.
word = list(input())
idx = int(input())
print(word[idx-1])
Python
복사
알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오.
첫째 줄에 입력으로 주어진 단어의 길이를 출력한다.
word = input()
print(len(word))
Python
복사
문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.
입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으며 문자열의 길이는 1000보다 작다.
n = int(input())
for i in range(n):
word = input()
print(word[0]+word[-1])
Python
복사
알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.
알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.
입력으로 주어진 글자의 아스키 코드 값을 출력한다.
word = input()
print(ord(word))
Python
복사
주어진 문자의 아스키 코드값을 반환해준다.
n = int(input())
num = list(input())
num = [int(i) for i in num]
print(sum(num))
Python
복사
#### 더 간편한 풀이 ####
# input()으로 받은 각 원소들을 for문에서 바로 개별적으로 처리할 수 있따
# for i in input() -> input()으로 받은 원소들에 대해서 개별적으로 처리 가능
# [int(i) for i in input()] -> 개별적으로 입력받은 문자원소들을 정수형으로 바꿔준 후 바로 리스트 만들기
n = int(input())
print(sum([int(i) for i in input()]))
Python
복사
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
word = input()
letter = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
for i in letter:
print(word.find(i), end=' ')
Python
복사
→ .find() 는 찾는 문자의 값이 리스트나 배열, 문자열에 있다면 해당 index 반환하고, 없으면 -1을 반환한다.
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.
n = int(input())
for i in range(n):
repl, word = input().split() # 둘다 문자열로 나뉘어진다.
repl = int(repl)
word = [w*repl for w in word] # 리스트로 처리하고
print(''.join(word)) # 출력은 문자로 하기
Python
복사
n = int(input())
for i in range(n):
repl, word = input().split() # 둘다 문자열로 나뉘어진다.
for w in word: # 문자에서 각 문자별로 * 3해서 처리하기
print(w*int(repl),end='')
print()
Python
복사
영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.
st = input().split()
print(len(st))
Python
복사
상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
a,b = input().split() # 각각은 문자열
list = [int(a[::-1]), int(b[::-1])]
print(max(list))
Python
복사
→ .reversed() 는 순회하는 iterator 를 반환한다. 따라서, 문자열로 반환하고 싶다면 “”.join() 으로 감싸줘야 한다.
→ 반대로, [::-1] 는 바로 뒤바뀐 문자열로 만들 수 있다.
숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.
상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다.
할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오.
word = input()
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
time = 0
for i in dial: # dial 의 원소 하나하나에 대해서
for j in i: # 각 알파벳별로
for k in word: # 입력받은 알파벳이 있는지 확인
if k == j:
time += dial.index(i)+3 # 걸리는 시간까지 더해서
print(time)
Python
복사
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.
입력받은 그대로 출력한다.
# 입력값이 몇개가 들어올지 모른다. -> 이 부분을 처리해야될 것
while(True):
try:
print(input()) # 입력이 주어지면, 그대로 출력
except EOFError: # 입력값이 안들어온다면 즉 EOF(End Of File)
break
Python
복사
→ EOFError : input() 에서 입력값이 주어지지 않을 때 발생하는 error