728x90
반응형
안녕하세요! CodingLog의 우동이입니다.
이번 시간에는 파이썬으로 백준 공부하기입니다.
단계 | 문제 번호 | 제목 | 티어 |
1 | 10818 | 최소, 최대 | Bronze 3 |
2 | 2562 | 최댓값 | Bronze 2 |
3 | 2577 | 숫자의 개수 | Bronze 2 |
4 | 3052 | 나머지 | Bronze 2 |
10818.
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다.
정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
# 최소, 최대
n = int(input())
m = list(map(int,input().split()))
print(min(m),max(m))
기본 내장 함수인 min, max를 사용하면 됩니다.
리스트에 있는 데이터의 최솟값과, 최댓값을 알아서 가져오는 참 좋은 함수입니다.
2562.
첫째 줄부터 아홉 번째 줄까지 한 중에 하나의 자연수가 주어지는데 그중에 최댓값과 몇 번째 수인지 찾는 문제입니다.
# 최댓값
max = int(-999)
for i in range(1,10):
n = int(input())
if max <= n:
max = n
max_i = i;
print(max)
print(max_i)
이렇게 하는 방식도 있지만, 파이썬 내장 함수 중에 index라는 것을 써서 max의 값과 일치하는 번지수를 가져오는 함수가 있습니다.
# 최댓값
data = []
for i in range(9):
data.append(int(input()))
print(max(data))
print(data.index(max(num_list))+1)
2577.
숫자 A, B, C를 입력받고 0이 몇 번 쓰였는지 출력하고, 다음 출력은 1부터 9까지의 숫자가 각각 몇 번 쓰였는지 차례로 출력하는 문제입니다.
# 숫자의 개수
a = int(input())
b = int(input())
c = int(input())
sum = a * b * c
number_list=[0]*9
while sum!=0:
data = sum % 10
sum = sum // 10
for i in range(10):
if i==data:
number_list[i]+=1
for i in range(10):
print(number_list[i])
data는 곱한 값의 1의 자릿수이다.
이후 sum은 //를 처리하면 나머지를 버리고 데이터를 넣는다.
이후 0~9중에 data와 값이 같으면 number_list[i]번지수에 데이터를 1을 더해준다.
다른 방법
# 숫자의 개수
a = int(input())
b = int(input())
c = int(input())
number_list = list(str(a * b * c))
for i in range(10):
print(number_list.count(str(i)))
리스트에 문자열로 곱한 값을 넣어주고
count : 문자가 몇 개씩 있는지 확인하는 함수
count를 사용해 str(i)의 값과 같은 것을 출력해주면 됩니다.
3052.
10개의 숫자를 입력받고 42로 나누었을 때, 서로 다른 나머지를 구하는 문제입니다.
# 나머지
data = [0]*10
for i in range(10):
n = int(input())
data[i] = n%42
data_set = set(data)
print(len(data_set))
set : 중복되는 데이터 제거
10개의 데이터중 나머지가 같은 것은 지우고 data_set의 문자열 길이를 출력해주면 됩니다.
728x90
반응형
'Baekjoon' 카테고리의 다른 글
[문자열] 파이썬으로 해결하기 (0) | 2022.04.15 |
---|---|
[1차원 배열] 파이썬으로 해결하기 (0) | 2022.04.13 |
[반복문] 파이썬으로 해결하기 (0) | 2022.04.06 |
[반복문] 파이썬으로 해결하기 (0) | 2022.04.06 |
[조건문] 파이썬으로 해결하기 (0) | 2022.04.06 |
댓글