alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 11718/11719 그대로 출력하기, 11720 숫자의 합, 11721 열 개씩 끊어 출력하기, 2741 N 찍기, 2742 기찍 N, 2739 구구단, 1924 2007년, 8393 합, 10818 최소, 최대 _ 파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][Python] 백준(BOJ) 11718/11719 그대로 출력하기, 11720 숫자의 합, 11721 열 개씩 끊어 출력하기, 2741 N 찍기, 2742 기찍 N, 2739 구구단, 1924 2007년, 8393 합, 10818 최소, 최대 _ 파이썬

알파이 2020. 3. 16. 10:15

입출력(2)

알고리즘의 가장 기본인 입출력 문제들

11718 그대로 출력하기    https://www.acmicpc.net/problem/11718

 

11718번: 그대로 출력하기

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.

www.acmicpc.net

 

풀이1 

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

 

풀이2

import sys

for line in sys.stdin:
    print(line, end='')

 

 

11719 그대로 출력하기 2   https://www.acmicpc.net/problem/11719

 

11719번: 그대로 출력하기 2

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다.

www.acmicpc.net

 

풀이

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

 

 

 

11720 숫자의 합   https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

 

풀이 

n = int(input())
l = list(map(int, input()))
print(sum(l))

 

 

11721 열 개씩 끊어 출력하기   https://www.acmicpc.net/problem/11721

 

11721번: 열 개씩 끊어 출력하기

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

www.acmicpc.net

 

풀이1

string = input()
for i in range(len(string)):
    if i % 10 == 9:
        print(string[i])
    else:
        print(string[i], end='')

 

풀이2

s = input()
for i in range(0, len(s), 10):
    print(s[i:i+10])

 

 

2741 N 찍기    https://www.acmicpc.net/problem/2741

 

2741번: N 찍기

자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

풀이 

n = int(input())
for i in range(1, n+1):
    print(i)

 

 

2742 기찍 N   https://www.acmicpc.net/problem/2742

 

2742번: 기찍 N

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

풀이

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

 

 

 

2739 구구단   https://www.acmicpc.net/problem/2739

 

2739번: 구구단

N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

www.acmicpc.net

 

풀이 

n = int(input())
for i in range(1, 10):
    print('%d * %d = %d' %(n, i, n*i))

 

 

1924 2007년   https://www.acmicpc.net/problem/1924

 

1924번: 2007년

첫째 줄에 빈 칸을 사이에 두고 x(1≤x≤12)와 y(1≤y≤31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

www.acmicpc.net

 

풀이

mon = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
day = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']

x, y = map(int, input().split(' '))
s = sum(mon[:x]) + y
print(day[s%7])

 

 

 

8393 합   https://www.acmicpc.net/problem/8393

 

8393번: 합

문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 1부터 n까지 합을 출력한다. 예제 입력 1 복사 3 예제 출력 1 복사 6...

www.acmicpc.net

 

풀이1

n = int(input())
s = n * (n+1) // 2
print(s)

 

풀이2

n = int(input())
s = 0
for i in range(1, n+1):
    s += i
print(s)

 

 

 

10818 최소, 최대   https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

풀이1

n = int(input())
l = list(map(int, input().split(' ')))
print(min(l), max(l))

 

풀이2

n = int(input())
l = list(map(int, input().split(' ')))
MAX, MIN = l[0], l[0]
for i in l:
    if i > MAX:
        MAX = i
    if i < MIN:
        MIN = i
print(MIN, MAX)

 

 

 

 

 

 

 

복습

* EOFError

728x90
반응형
Comments