728x90
반응형

format을 쓰면 쉽게 출력할 수 있다.

n = int(input())

for i in range (1, 10):
    print('{0} * {1} = {2}'.format(n, i, n*i))

728x90
반응형
728x90
반응형

반복문을 사용해 조건에 맞게 출력해주자.

for _ in range(int(input())):
    li = list(input().split())
    n = int(li[0])
    word = li[1]
    for l in word:
        print(l*n, end = '')
    print()

728x90
반응형
728x90
반응형

세 수를 정렬하고 알파벳 순서에 맞게 출력하면 된다.

나는 ord를 사용했다.

EX) li = [1, 5, 3],  CBA 순서

li 정렬 -> li = [1, 3, 5]

li[ord('C') - ord('A')] = li[97 - 95] = li[2] = 5 출력

같은 방식으로 li[1], li[0]을 출력하게 됨. 

num_li = sorted(map(int, input().split()))
for c in input():
    print(num_li[ord(c)-ord('A')], end = ' ')

728x90
반응형
728x90
반응형

lambda를 사용해 기준을 잡고 정렬해주면 된다.

이름 오름차순 -> 국어 내림차순 -> 영어 오름차순 -> 수학 내림차순

그냥 input()을 사용해도 통과는 되지만 시간이 좀 오래 걸린다(4580ms)

sys.stdin.readlien()을 사용하면 9배가량 빨라진다(504ms)

import sys
li = []

for i in range(int(input())):
    t = sys.stdin.readline().split()
    t[1:] = map(int, t[1:])
    li.append(t)

li = sorted(li, key=lambda x : x[0])
li = sorted(li, key=lambda x : x[3], reverse = True)
li = sorted(li, key=lambda x : x[2])
li = sorted(li, key=lambda x : x[1], reverse = True)

for i in li:
    print(i[0])

728x90
반응형
728x90
반응형

최대공약수를 구하면 최소공배수는 쉽게 구할수 있다. 

최소공배수 = n1 * n2 // 최대공약수

n1, n2 = map(int, input().split())
a, b = max(n1, n2), min(n1, n2)
while(b != 0):
        n = a%b
        a = b
        b = n
gcd = a
lcm = n1 * n2 // gcd
print(gcd)
print(lcm)

728x90
반응형
728x90
반응형

n1 = int(input())
n2 = input()
for n in n2[::-1]:
    print(n1*int(n))
print(n1*int(n2))

728x90
반응형
728x90
반응형

저번에 봤던 소수 문제와 마찬가지로 에라토스테네스의 체를 사용하면 쉽게 풀 수 있다.

n1 = int(input())
n2 = int(input())
li = [1]*(n2+1)
for i in range(2, n2//2 + 1):
    if li[i] == 1:
        for j in range(i+i, n2+1, i):
            li[j] = 0
prime = []
for i in range(2, len(li)):
    if li[i] == 1:
        prime.append(i)
ans = []
for i in range(n1, n2+1):
    if i in prime:
        ans.append(i)
if len(ans) == 0:
    print(-1)
else:
    print(sum(ans))
    print(ans[0])

728x90
반응형
728x90
반응형

입력을 str으로 바꾸고 숫자의 개수를 세면 편하다.

m = 1
for i in range(3):
    m *= int(input())
li = []
for i in range(10):
    li.append(str(m).count(str(i)))
for n in li:
    print(n)

728x90
반응형
728x90
반응형

li = []
for i in range(9):
    li.append(int(input()))
print(max(li))
print(li.index(max(li))+1)

728x90
반응형
728x90
반응형

그냥 A + B를 출력하면 된다.

print(int(input())+int(input()))

728x90
반응형
728x90
반응형

Hello World!를 출력해주자

print("Hello World!")

 

728x90
반응형
728x90
반응형

별 찍기 치고는 어려운 문제다.

import math
    
s = ["  *   ", " * *  ", "***** "]

def Star(shift):
    c = len(s)
    for i in range(c):
        s.append(s[i] + s[i])
        s[i] = ("   " * shift + s[i] + "   " * shift)
        
n = int(input())
k = int(math.log(int(n/3), 2))
for i in range(k):
    Star(int(pow(2, i)))

for i in range(n):
    print(s[i])

728x90
반응형
728x90
반응형

n = int(input())
for i in range(n, 0, -1):
    print(' '*(n-i) + '*'*(2*i-1))

728x90
반응형
728x90
반응형

n = int(input())
for i in range(1, n+1):
    print(' '*(n-i) + '*'*(2*i-1))

728x90
반응형
728x90
반응형

n = int(input())
for i in range(n):
    print(' '*i + '*'*(n-i))

728x90
반응형

+ Recent posts