문제: 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
입력: 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
출력: 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.
def solve(a) :
a = str(a)
for i in range(len(a)-1) :
isTrue = False
step = int(a[0])-int(a[1])
if int(a[i])-int(a[i+1]) == step :
isTrue = True
else :
isTrue = False
return isTrue
n = int(input())
cnt = 0
for i in range(1, n+1) :
if len(str(i)) == 1 :
cnt += 1
else :
if solve(i) == True :
cnt += 1
print(cnt)
n=int(input())
s=0
for i in range(1,n+1):
l=list(map(int,str(i)))
if i<100:s+=1
elif l[0]-l[1]==l[1]-l[2]:s+=1
print(s)
문제: 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.
입력: 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.
출력: 입력으로 주어진 글자의 아스키 코드 값을 출력한다.
문자를 아스키코드로 변환할 때는 ord(), 아스키코드를 문자로 변환할 때는 chr()를 사용함
n = input()
print(ord(n))
문제: N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력: 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력: 입력으로 주어진 숫자 N개의 합을 출력한다.
sum함수 쓰면 숫자 개수는 필요없는 것 같다.
a = int(input())
li = list(map(int, input()))
print(sum(li))
문제: 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
입력: 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.
출력: 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.
만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.
-1이 시도때도 출력되서 isTrue라는 변수를 하나 더 만들어주었다.
li = list(map(str, input()))
compareLi = list(map(str, 'abcdefghijklmnopqrstuvwxyz'))
for i in range(len(compareLi)) :
isTrue = False
for j in range(len(li)) :
if compareLi[i] == li[j] :
print(j, end=' ')
isTrue = True
break
if isTrue == False : print(-1, end=' ')
천재다... 아스키코드로 품ㅋㅋㅋ
find함수는 원래 못 찾으면 -1을 반환하니까 이 방법도 좋은 것 같다.
s = input()
for i in range(97,123):
print(s.find(chr(i)), end=' ')
문제: 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./: 이다.
입력: 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.
출력: 각 테스트 케이스에 대해 P를 출력한다.
입력값이 3줄에 걸쳐 들어오는데 그걸 생각 못하고 삽질을 하고 있었다.
그리고 개행할 때 앞에 다른 내용 없이 sep='\n'만 쓸 수 있다는 걸 알았다.
n = int(input())
for i in range(n) :
a, b = input().split()
a = int(a)
b = list(map(str, b))
for j in range(len(b)) :
for k in range(a) :
print(b[j], end='')
print(sep='\n')
t=int(input())
for _ in range(t):
n,s=input().split()
for i in s:
print(i*int(n),end="")
print()