728x90
반응형

리스트의 합을 리턴해주는 함수를 만들어서 제출하면 되는 문제다.

def solve(a):
    return sum(a)

728x90
반응형
728x90
반응형

그냥 입력을 받으면 시간 초과가 뜨기 때문에

sys.stdin.readline()을 사용해 빠르게 입력을 받아야 한다.

import sys
for i in range(int(input())):
    a, b = map(int, sys.stdin.readline())
    print(a+b)

728x90
반응형
728x90
반응형

count 함수를 사용하면 원하는 str에 원하는 문자가 몇 개 들어있는지 쉽게 확인할 수 있다.

ans = 0
n, d = map(int, input().split())
for i in range(1, n+1):
    ans += str(i).count(str(d))
print(ans)
728x90
반응형
728x90
반응형

2부터 2**32까지 2의 거듭제곱을 리스트에 저장하고,

입력이 리스트에 들어있는지(2의 제곱인지) 확인하는 방식으로 풀었다.

li = []
for i in range(31):
    li.append(2**i)
if int(input()) in li:
    print(1)
else:
    print(0)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

li = [] 
for _ in range(6):  
    li.append(int(input())) 
li1 = sorted(li[:4]) 
li2 = li[4:] 
print(sum(li1[1:]) + max(li2))
728x90
반응형
728x90
반응형

입력을 10 단위로 슬라이싱 하고 순서대로 출력해주면 된다.

s = input()
for i in range(len(s)//10 + 1):
    print(s[10*i:10*(i+1)])
728x90
반응형
728x90
반응형

map과 list 함수를 사용해 입력을 한 자리 숫자들이 담겨 있는 리스트로 만들어주고 리스트의 합을 출력해주면 된다.

_ = int(input())
print(sum(list(map(int, input()))))

728x90
반응형
728x90
반응형

11718 그대로 출력하기와 해답이 같다.

while True:
    try:
        print(input())
    except EOFError:
        break

728x90
반응형
728x90
반응형

그냥 입력받고 출력해주면 런타임 에러가 뜬다. 이유는 솔직히 잘 모르겠다.

try를 사용하니 해결이 되었다.

while True:
    try:
        print(input())
    except EOFError:
        break

728x90
반응형
728x90
반응형

파이썬 내장함수 sorted는 문자열들이 담긴 리스트를 사전순으로 정렬해준다.

word = input()
l = len(word)
li = []
for i in range(l):
    li.append(word[i:])
li = sorted(li)
for i in range(l):
    print(li[i])
728x90
반응형
728x90
반응형

파이썬 내장 함수인 ord를 통해 문자의 아스키코드를 확인할 수 있다.

print(ord(input()))

728x90
반응형
728x90
반응형

에라토스네테스의 체를 사용해 소수만 찾아 풀 수도 있지만 시간이 넉넉해서 그냥 반복문 하나만 사용해서 풀었다.

EX) n = 72

1) 72 % 2 = 0 -> 2 출력 -> n = 72//2 = 36

2) 36 % 2 = 0 -> 2 출력 -> n = 36//2 = 18

3) 18 % 2 = 0 -> 2 출력 -> n = 18//2 = 9

4) 9 % 3 = 0 -> 3 출력 -> n = 9//3 = 3

5) 3 % 3 = 0 -> 3 출력 -> n = 3//3 = 1 -> n이 1이므로 반복문 종료

n = int(input())
while(n != 1):
    for i in range(2, n+1):
        if n % i == 0:
            print(i)
            n = n //i
            break
728x90
반응형
728x90
반응형

11650 좌표 정렬하기와 해답이 같다. 

li = []
for _ in range(int(input())):
    li.append(list(map(int, input().split())))
li.sort(key=lambda x : x[1])
li.sort(key=lambda x : x[0])
for i in li:
    print(*i)

728x90
반응형
728x90
반응형

우선 입력(좌표)들을 2*N 형태의 리스트에 저장한다.

그 후 lambda를 사용해 y기준 오름차순 정렬 후 x기준 오름차순 정렬을 해주면 된다.

li = []
for _ in range(int(input())):
    li.append(list(map(int, input().split())))
li.sort(key=lambda x : x[1])
li.sort(key=lambda x : x[0])
for i in li:
    print(*i)

728x90
반응형
728x90
반응형

은근히 풀기 귀찮은 문자열 처리 문제다.

우선 공주의 모습을 n*n 형태의 리스트에 저장한다.

그 후 K가 2이면 li[i][::-1]을 통해 각 행들을 좌우반전시켜주고

K가 3이면 li[::-1]을 통해 상하반전시켜준다.

(출력해서 볼 때는 상하반전된 것처럼 보이지만 사실 리스트가 좌우반전된 상황이다)

마지막으로 각 행을 순서대로 출력해주면 된다.

n = int(input())
li = []
for i in range(n):
    li.append(input())
K = int(input())
if K == 2:
    for i in range(n):
        li[i] = li[i][::-1]
elif K == 3:
    li = li[::-1]
for i in range(n):
    print(li[i])

728x90
반응형

+ Recent posts