Search

문자열

단어, 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
복사
 ord()
주어진 문자의 아스키 코드값을 반환해준다.
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()
→ .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
복사
 TIP
→ .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
복사
 TIP
→ EOFError : input() 에서 입력값이 주어지지 않을 때 발생하는 error