# 백준 1977 완전제곱수
https://www.acmicpc.net/problem/1977
1977번: 완전제곱수
M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완
www.acmicpc.net
m = int(input())
n = int(input())
hap = 0
first = 0
for i in range(m, n+1):
if i**0.5 == int(i**0.5):
hap += i
if first == 0:
first = i
if hap == 0:
print(-1)
else:
print(hap)
print(first)
# 백준 11098 첼시를 도와줘!
https://www.acmicpc.net/problem/11098
11098번: 첼시를 도와줘!
구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 그들은 많은 스카
www.acmicpc.net
t = int(input())
for i in range(t):
p = int(input())
first, name = input().split()
for i in range(1,p):
n, m = input().split()
if int(first) < int(n):
first = n
name = m
print(name)
# 백준 기찍 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)
# 백준 2440 별 찍기 – 3
2440번: 별 찍기 - 3
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제
www.acmicpc.net
n = int(input())
for i in range(n,0,-1):
for j in range(i):
print('*',end='')
print()
# 백준 2442 별 찍기 – 5
https://www.acmicpc.net/problem/2442
2442번: 별 찍기 - 5
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
n = int(input())
for i in range(1, n+1):
for j in range(n-i):
print(" ", end='')
for j in range(2*i-1):
print("*", end='')
print()
# 백준 2443 별 찍기 – 5
2443번: 별 찍기 - 6
첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
n = int(input())
for i in range(n):
for j in range(i):
print(" ", end='')
for j in range(2*(n-i)-1):
print("*", end='')
print()
# 백준 2444 별 찍기 – 7
https://www.acmicpc.net/problem/2444
2444번: 별 찍기 - 7
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
n = int(input())
for i in range(1, n+1):
for j in range(n-i):
print(" ", end='')
for j in range(2*i-1):
print("*", end='')
print()
for i in range(1, n):
for j in range(i):
print(" ", end='')
for j in range(2*(n-i)-1):
print("*", end='')
print()
# 백준 2445 별 찍기 – 8 (나비 모양)
https://www.acmicpc.net/problem/2445
2445번: 별 찍기 - 8
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
n = int(input())
for i in range(1, n+1):
for j in range(i):
print("*", end='')
for j in range(2*(n-i)):
print(" ", end='')
for j in range(i):
print("*", end='')
print()
for i in range(1,n):
for j in range(n-i):
print("*", end='')
for j in range(2*i):
print(" ", end='')
for j in range(n-i):
print("*", end='')
print()
# 백준 2446 별 찍기 – 9 (모래시계 모양)
https://www.acmicpc.net/problem/2446
2446번: 별 찍기 - 9
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
n = int(input())
for i in range(n-1):
for j in range(i):
print(" ", end='')
for j in range(2*(n-i)-1):
print("*", end='')
print()
for i in range(1,n+1):
for j in range(n-i):
print(" ", end='')
for j in range(2*i-1):
print("*", end='')
print()
# 백준 2522 별 찍기 – 12
https://www.acmicpc.net/problem/2522
2522번: 별 찍기 - 12
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
n = int(input())
for i in range(1, n+1):
for j in range(n-i):
print(" ", end='')
for j in range(i):
print("*", end='')
print()
for i in range(1, n):
for j in range(i):
print(" ", end='')
for j in range(n-i):
print("*", end='')
print()
# 백준 2523 별 찍기 – 13
https://www.acmicpc.net/problem/2523
2523번: 별 찍기 - 13
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
n = int(input())
for i in range(1, n+1):
for j in range(i):
print("*", end='')
print()
for i in range(1, n):
for j in range(n-i):
print("*", end='')
print()
# 백준 10991 별 찍기 – 16 (피라미드 모양)
https://www.acmicpc.net/problem/10991
10991번: 별 찍기 - 16
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
www.acmicpc.net
n = int(input())
for i in range(1,n+1):
for j in range(n-i):
print(" ", end='')
for j in range(i):
print("* ", end='')
print()
# 백준 10995 별 찍기 – 20 (지그재그 모양)
https://www.acmicpc.net/problem/10995
10995번: 별 찍기 - 20
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
www.acmicpc.net
n = int(input())
for i in range(1,n+1):
if i%2==0:
for j in range(n):
print(" *", end='')
else:
for j in range(n):
print("* ", end='')
print()
# 백준 8393 합
8393번: 합
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
www.acmicpc.net
n = int(input())
sum = 0
for i in range(1, n+1):
sum += i
print(sum)
# 백준 2609 최대공약수와 최소공배수
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
a, b = map(int, input().split())
n = a if a > b else b
m = a if a < b else b
while (m):
n, m = m, n%m
gcd = n
print(gcd)
print((a*b)//gcd)
# 백준 5565 영수증
5565번: 영수증
첫째 줄에 10권의 총 가격이 주어진다. 둘째 줄부터 9개 줄에는 가격을 읽을 수 있는 책 9권의 가격이 주어진다. 책의 가격은 10,000이하인 양의 정수이다.
www.acmicpc.net
hap = int(input())
for i in range(9):
hap -= int(input())
print(hap)
# 백준 10952 A+B – 5
https://www.acmicpc.net/problem/10952
10952번: A+B - 5
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
while True:
a, b = map(int, input().split())
if a == 0 and b == 0:
break
print(a+b)
# 백준 10984 내 학점을 구해줘 (반올림 round)
10984번: 내 학점을 구해줘
게으른 근우는 열심히 놀다가 문득, 자신의 학점 평균이 얼마일지 궁금해졌다. 학사시스템도 들어가기 귀찮아하는 근우를 위해 구해주도록 하자.
www.acmicpc.net
t = int(input())
for i in range(t):
n = int(input())
hap_c, hap_g = 0, 0
for j in range(n):
c, g = map(float, input().split())
hap_c += c
hap_g += (g*c)
print(int(hap_c), round(hap_g/hap_c, 1))
# 백준 10833 사과 (나머지 %연산자)
10833번: 사과
경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사
www.acmicpc.net
n = int(input())
re = 0
for i in range(n):
s, a = map(int, input().split())
re += a%s
print(re)
# 백준 9325 얼마?
https://www.acmicpc.net/problem/9325
9325번: 얼마?
해빈이는 학교를 다니면서 틈틈히 번 돈으로 자동차를 사려고 한다. 자동차에 여러 가지 옵션을 포함시킬 수 있는데 해빈이는 덧셈과 곱셈을 하지 못하기 때문에 친구 태완이에게 도움을 청했
www.acmicpc.net
t = int(input())
for i in range(t):
s = int(input())
n = int(input())
for i in range(n):
q, p = map(int, input().split())
s += q*p
print(s)
# 백준 5522 카드 게임
https://www.acmicpc.net/problem/5522
5522번: 카드 게임
JOI군은 카드 게임을 하고 있다. 이 카드 게임은 5회의 게임으로 진행되며, 그 총점으로 승부를 하는 게임이다. JOI군의 각 게임의 득점을 나타내는 정수가 주어졌을 때, JOI군의 총점을 구하는 프
www.acmicpc.net
hap = 0
for i in range(5):
hap += int(input())
print(hap)
# 백준 10178 할로윈의 사탕
https://www.acmicpc.net/problem/10178
10178번: 할로윈의 사탕
할로윈데이에 한신이네는 아부지가 사탕을 나눠주신다. 하지만 한신이의 형제들은 서로 사이가 좋지않아 서른이 넘어서도 사탕을 공정하게 나누어 주지 않으면 서로 싸움이 난다. 매년 할로윈
www.acmicpc.net
t = int(input())
for i in range(t):
c, v = map(int, input().split())
print("You get %d piece(s) and your dad gets %d piece(s)." %(c//v, c%v))
# 백준 9295 주사위
https://www.acmicpc.net/problem/9295
9295번: 주사위
각 테스트 케이스마다 "Case x: "를 출력한 다음, 주사위를 두 번 던져 나온 두 수의 합을 출력한다. 테스트 케이스 번호(x)는 1부터 시작한다.
www.acmicpc.net
t = int(input())
for i in range(t):
print("Case %d: %d" %(i+1, sum(map(int, input().split()))))
# 백준 2921 도미노
https://www.acmicpc.net/problem/2921
2921번: 도미노
도미노는 여러 종류의 타일 게임에서 사용하는 조각이다. 도미노 조각은 두 칸으로 이루어져 있다. 각 칸에는 점이 찍혀있는데, 점이 안 찍혀져 있을 수도 있다. 점의 개수는 세트의 크기에 의
www.acmicpc.net
n = int(input())
hap = 0
for i in range(n+1):
for j in range(i,n+1):
hap += (i+j)
print(hap)
# 백준 1978 소수 찾기
https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
n = int(input())
num = list(map(int, input().split()))
hap = 0
for i in range(n):
b = False
for j in range(2, int(num[i]**0.5)+1):
if num[i] % j == 0:
b = True
break
if num[i] > 1 and (b == False or num[i] == 2):
hap += 1
print(hap)
# 백준 2581 소수
https://www.acmicpc.net/problem/2581
2581번: 소수
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
www.acmicpc.net
m = int(input())
n = int(input())
answer = []
for i in range(m, n+1):
b = False
for j in range(2, int(i**0.5)+1):
if i % j == 0:
b = True
break
if i > 1 and (b == False or i == 2):
answer.append(i)
if answer == []:
print(-1)
else:
print(sum(answer))
print(answer[0])
# 백준 2747 피보나치 수
https://www.acmicpc.net/problem/2747
2747번: 피보나치 수
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
n = int(input())
fi = [0,1]
for i in range(1, n):
fi.append(fi[i-1]+fi[i])
print(fi[n])
# 백준 9085 더하기
https://www.acmicpc.net/problem/9085
9085번: 더하기
입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 첫 줄에 자연수의 개수 N(1 ≤ N ≤ 100)이 주어지고, 그 다음 줄에는 N개의 자연수가 주어진다. 각각의 자연
www.acmicpc.net
t = int(input())
for i in range(t):
n = int(input())
hap = sum(map(int, input().split()))
print(hap)
# 백준 10797 10부제
https://www.acmicpc.net/problem/10797
10797번: 10부제
서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는
www.acmicpc.net
n = input()
inp = list(input().split())
result = 0
for i in range(len(inp)):
if n == inp[i][0]:
result += 1
print(result)
# 백준 2506 점수계산
https://www.acmicpc.net/problem/2506
2506번: 점수계산
OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로
www.acmicpc.net
n = int(input())
inp = list(input().split())
con, result = 0, 0
for i in range(n):
if inp[i] == '1':
con += 1
result += con
else:
con = 0
print(result)
# 백준 1546 평균
https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
n = int(input())
inp = list(map(int, input().split()))
inp.sort()
for i in range(n):
inp[i] = inp[i]/inp[n-1]*100
print(sum(inp)/n)
# 백준 2908 상수
https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
a, b = input().split()
if a[::-1] > b[::-1]:
print(a[::-1])
else:
print(b[::-1])
# 백준 1130 두 수 비교하기
1330번: 두 수 비교하기
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
www.acmicpc.net
a, b = map(int, input().split())
if a > b:
print('>')
elif a < b:
print('<')
else:
print('==')
# 백준 2920 음계
2920번: 음계
다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8
www.acmicpc.net
inp = list(map(int, input().split()))
ascending = [1,2,3,4,5,6,7,8]
descending = [8,7,6,5,4,3,2,1]
if inp == ascending:
print("ascending")
elif inp == descending:
print("descending")
else:
print("mixed")
# 백준 10818 최소, 최대
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
n = int(input())
inp = list(map(int, input().split()))
print(min(inp), max(inp))
# 백준 11654 아스키코드
11654번: 아스키 코드
알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.
www.acmicpc.net
inp = input()
print(ord(inp))
# 백준 11720 숫자의 합
11720번: 숫자의 합
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
www.acmicpc.net
n = int(input())
inp = list(input())
hap = 0
for i in inp:
hap += int(i)
print(hap)
# 백준 10951 A+B - 4
10951번: A+B - 4
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
while True:
try:
A, B = map(int, input().split())
print(A+B)
except:
break
# 백준 3052 나머지
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
inp = []
result = []
for i in range(10):
inp.append(int(input()))
result.append(inp[i]%42)
print(len(list(set(result))))
# 백준 10171 고양이
10171번: 고양이
아래 예제와 같이 고양이를 출력하시오.
www.acmicpc.net
print("\ /\\")
print(" ) ( \')")
print("( / )")
print(" \(__)|")
# 백준 10172 개
10172번: 개
문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...
www.acmicpc.net
print(r'|\_/|')
print(r'|q p| /}')
print(r'( 0 )"""\ ')
print(r'|"^"` |')
print(r'||_/=\\__|')
# 백준 10809 알파벳 찾기
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
alpha = 'abcdefghijklmnopqrstuvwxyz'
result = [-1 for i in range(len(alpha))]
inp = input()
for i in range(len(inp)):
if result[ord(inp[i])-97] == -1:
result[ord(inp[i])-97] = i
for i in result:
print(str(i), end=' ')
'전.py' 카테고리의 다른 글
백준 2748 피보나치 수 2 (0) | 2021.01.23 |
---|---|
백준 5635 생일 (0) | 2021.01.13 |
프로그래머스 피보나치 수 (level 2) (0) | 2021.01.12 |
프로그래머스 최댓값과 최솟값 (level 2) (0) | 2021.01.12 |
프로그래머스 숫자의 표현 (level 2) (0) | 2021.01.11 |