점점 어려워진다.

문제를 접할수록 아직 내가 문법이 부족하다는것을 많이 느낀다.

 

[1065] 한수

해결 포인트

한자릿수 두자릿수 모든 숫자는 등차수열이다.

이를 먼저 조건을 건다음 인덱스 0,1 과 2,3을 비교하여 카운트 해보자

답안

import sys
x = int(sys.stdin.readline())
cnt = 0
for i in range(1,x+1):
    if i < 100:
        cnt += 1
    else:
        b = list(map(int,str(i)))
        if b[1] - b[0] == b[2] - b[1]:
            cnt += 1
print(cnt)

1 ~ 입력받은수까지가 문제에서 요구하는 범위이다.

각 요소를 숫자형으로 변경하여 리스트를 만들어 비교하면 된다.

 

[11654] 아스키 코드

해결 포인트

ord()를 사용하면 쉽게 풀이 가능하다.

답안

print(ord(input()))

[11720] 숫자의 합

해결 포인트

그냥 쉽다....

답안

a = int(input())
b = input()
sum = 0
for i in b:
    sum += int(i)
print(sum)

 

[10809] 알파벳 찾기

해결 포인트

변수 두개

하나는 입력받고

하나는 알파벳을 저장하여 a in b 를 이용하여 찾고 해당 인덱스를 출력하면 된다.

답안

from operator import index
a = input()
b = 'abcdefghijklmnopqrstuvwxyz'
for i in b:
    if i not in a:
        print(-1,end=" ")
    else:
        print(a.index(i),end=" ")

 

[2675] 문자열 반복

해결 포인트

공백으로 구분되어 입력받은뒤 입력받은 수 만큼 인덱스 하나하나 반복하여 출력하면 된다.

답안

a = int(input())
sum = ""
for i in range(a):
    b, c = input().split()
    for j in range(len(c)):
        sum += c[j]*int(b)
    print(sum)
    sum = ""

 

[1152] 단어의 개수

해결 포인트

공백으로 단어를 입력받고 len()을 이용하면 끝이다.

답안

a = input().split()
print(len(a))

 

[2908] 상수

해결 포인트

[::-1] 을 이용하면 문자열을 반대로 구성할 수 있다.

답안

a,b = input().split()
a = a[::-1]
b = b[::-1]
if a<b:
    print(b)
else:
    print(a)

 

+ Recent posts