Problem Solving
[백준(BOJ)] 백준 단계별로 풀어보기 - 1차원 배열(10818, 2562, 2577, 3052, 1546)
개발자 쿠키
2022. 8. 1. 12:25
✔ 백준 단계별로 풀어보기 - 1차원 배열

- 1단계, 10818번 2022.08.01
- 2단계, 2562번 2022.08.01
- 3단계, 2577번 2022.08.01
- 4단계, 3052번 2022.08.01
- 5단계, 1546번 2022.
- 6단계, 8985번 2022.
- 7단계 4344번 2022.
✔1단계, 1차원 배열 10818번 (브론즈3)
https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
✔코드
# [백준 10818번] - 최소, 최대 - (브론즈3, 1차원배열)
import sys
input = sys.stdin.readline
N = int(input()) # 정수의 개수
k = list(map(int, input().split())) # N개의 정수를 공백입력
print(min(k), max(k))
✔문제풀이
list(map(int, input().split()) : N개의 정수가 공백으로 입력
min() : 최소값
max() : 최대값
✔2단계, 1차원 배열 2562번 (브론즈3)
https://www.acmicpc.net/problem/2562
2562번: 최댓값
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어
www.acmicpc.net
✔코드
# [백준 2562번] - 최대값 - (브론즈3, 1차원배열)
import sys
input = sys.stdin.readline
a = []
for i in range(9):
N = int(input())
a.append(N)
print(max(a))
print(a.index(max(a)) + 1)
✔문제풀이
a.append(N) : a리스트에 N추가
index() : 배열에서 값의 위치를 찾아주는 함수
a[0] 부터 시작하기때문에 +1을 해준다
✔3단계, 1차원 배열 2577번 숫자의 개수 (브론즈2)
https://www.acmicpc.net/problem/2577
2577번: 숫자의 개수
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
www.acmicpc.net
✔코드
# [백준 2577번] - 숫자의 개수 - (브론즈2, 1차원배열)
import sys
input = sys.stdin.readline
a = int(input())
b = int(input())
c = int(input())
result = list(str(a * b * c))
for i in range(10):
print(result.count(str(i)))
✔문제풀이
list의 count함수 : 정수값을 리턴, 주어진 리스트에서 특정한 원소가 몇 번 등장하는지 셈하여 그 결과를 출력해준다
✔4단계, 1차원 배열 3052번 나머지(브론즈2)
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
✔코드
# [백준 2577번] - 숫자의 개수 - (브론즈2, 1차원배열)
import sys
input = sys.stdin.readline
arr = []
for i in range(10):
n = int(input())
arr.append(n % 42)
arr = set(arr)
print(len(arr))
✔문제풀이
10개의 숫자를 입력받아 42로 나눈 나머지 값은 arr 리스트에서 넣는다
set() : 중복된 값을 제거해준 뒤 리스트에 포함되어있는 값의 개수 출력