1차원 배열문제를 차근차근 풀이하고있다.
개수 찾기
답:
from sys import stdin
input = stdin.readline
N = int(input())
num_list = list(map(int, input().split()))
v = int(input())
count = 0
for num in num_list:
if v == num:
count += 1
print(count)
문제 분석 및 해석
N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성
입력:
11
1 4 1 2 4 2 4 2 3 4 4
2
출력:
3
리뷰.
간단해서 한줄 코딩도 가능할듯 하다
X보다 작은 수
답:
from sys import stdin
input = stdin.readline
N, X = input().split()
num_list = list(map(int, input().split()))
answer = []
for num in num_list:
if num < int(X):
answer.append(num)
print(*answer)
문제 분석 및 해석
X보다 작은 수
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. A에서 X보다 작은 수를 모두 출력
첫째 줄에 N과 X
둘째 줄에 수열 A를 이루는 정수 N개
입력
10 5
1 10 4 9 2 3 8 5 7 6
출력
1 4 2 3
리뷰.
N, X를 spilt으로 받았으므로 int를 하려면 map을 사용해야함을 알게되었다.
그래서 문자열로 받고 int(X)
최소, 최대
답:
from sys import stdin
input = stdin.readline
N = int(input())
num_list = list(map(int, input().split()))
# ---- min max함수로 찾기
print(min(num_list), max(num_list))
# ---- sort로 찾기
num_list.sort()
print(num_list[0], num_list[-1])
# ---- N 사용해서 찾기
최소값 = num_list[0]
최댓값 = num_list[0]
for i in range(N):
if 최소값 > num_list[i]:
최소값 = num_list[i]
if 최댓값 < num_list[i]:
최댓값 = num_list[i]
print(최소값, 최댓값)
문제 분석 및 해석
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
첫째 줄에 정수의 개수 N
둘째 줄에는 N개의 정수를 공백으로 구분
입력
5
20 10 35 30 7
출력
7 35
리뷰.
여러가지 방법으로 풀이하면서 특히 for문으로 비교하며 저장하는 방식을 기억해두고자 했다.
그리고 min max함수가 코드 길이도, 시간도 빠르다는 것을 확실하게 확인할 수 있었다.

최댓값
답:
from sys import stdin
input = stdin.readline
new_list = [0]
for _ in range(9):
num = int(input())
new_list.append(num)
# ---- max값과 Index 함수로 구하기
max_num = max(new_list)
print(max(new_list))
print(new_list.index(max_num))
# ---- for문으로 찾기
max_num = new_list[0]
idx = 0
for i, v in enumerate(new_list):
if v > max_num:
max_num = v
idx = i
print(max_num)
print(idx)
문제 분석 및 해석
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하기
입력
3
29
38
12
57
74
40
85
61
>> 풀이생각
9만큼만 주어지니 for문으로 담자
리뷰.
역시나 max 함수가 더 빨랐다
max를 매번 쓰더라도 활용할 수 있도록 방법은 늘 기억해놓자

'알고리즘 풀이' 카테고리의 다른 글
[알고리즘] 백준 | 나머지, 바구니 뒤집기, 평균 (0) | 2023.09.07 |
---|---|
[알고리즘] 백준 | 공 바꾸기, 과제 안 내신 분..? (0) | 2023.09.06 |
[알고리즘] 백준 | 공 넣기 (0) | 2023.09.04 |
[알고리즘] 프로그래머스 | 분수의 덧셈, 문자열 내 p와 y의 개수 (0) | 2023.09.01 |
[알고리즘] 프로그래머스 | 구명보트 (0) | 2023.09.01 |