코딩 테스트/파이썬
[백준 파이썬] 단계별로 풀어보기 - Lv4. 1차원 배열
HHRR
2023. 5. 8. 05:52
# 10807 개수 세기
N=int(input())
x = list(map(int,input().split()))
v = int(input())
print(x.count(v))
- x.count(v)로 x리스트 안에 v가 몇 개 들어가있는지 확인가능
# 10871 X보다 작은 수
N,X = map(int,input().split())
A = list(map(int, input().split()))
for i in range(N) :
if A[i]<X :
print(A[i], end=" ")
# 10818 최소, 최대
import math
N = int(input())
A = list(map(int, input().split()))
print(min(A),max(A))
- 최소 min(), 최대 max()
# 2562 최댓값
A = [int(input()) for _ in range (9)]
print(max(A))
print(A.index(max(A))+1)
- 리스트 A에 9개 값 넣기
- A에서 최댓값이 몇 번째 수인지 출력 : A.index(max(A))+1
# 10810 공 넣기
#i번 바구니부터 j번 바구니까지ㅔ k번 번호가 적혀있는 공을 넣음
#1번바구니부터 N번바구니에 들어있는 공의 번호를 공백으로 구분해 출력
N, M = map(int, input().split()) #입력값 공백 기준으로 분리하여 각 변수에 넣음
A = [0]*N #0으로 초기화(안하면 오류뜸)
for _ in range (M) :
i, j, k = map(int, input().split())
for x in range(i, j+1, 1) :
A[x-1] = k
for y in range (N) :
print(A[y],end=' ')
- 배열 미리 0으로 초기화 해줘야 오류 안 뜸
- 변수 세 개 한번에 입력 받기 : i, j, k = map(int, input().split())
# 10813 공 바꾸기
#바구니 1번~N번
#바구니에 공 1개씩, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공 들어있음
#M번 공 바꾸기
#공 바꿀 바구니 2개 선택후 두 바구니에 들어있는 공을 서로 교환
N, M = map(int,input().split())
A = [0]*N
for i in range(N) :
A[i] = i+1
for _ in range (M) :
i, j = map(int,input().split())
tmp = A[i-1]
A[i-1] = A[j-1]
A[j-1] = tmp
for x in range (N) :
print(A[x],end=' ')
- 공 바꿀 때 tmp 변수 사용
# 5597 과제 안 내신 분..?
A = [i for i in range(1,31)] #리스트에 값 순서대로 집어넣기
for _ in range(28) :
B = int(input()) #입력값
A.remove(B) #소거!!
print(min(A))
print(max(A))
- 입력값 제외한 값 찾기 : remove사용
- A.remove(B) : 리스트 A에서 B값 제외하기
# 3052 나머지
#수 10개 입력 -> 42로 나눈 나머지
#서로 다른 값 몇 개?
A=[0]*10
for i in range(10) :
x = int(input())
A[i] = (x % 42)
B = set(A)
print(len(B))
- 리스트 입력 받고 리스트를 집합으로 바꿔서 중복되는 수 제거
- len(B) = 서로 다른 수의 개수
# 10811 바구니
#바구니 N개 1~N번
#M번 바구니 순서를 역순으로
#순서를 역순으로 만들 범위 정하고 그 범위에 들어있는 바구니의 순서를 역순으로
N, M = map(int,input().split())
A = [i+1 for i in range (N)]
for _ in range(M) :
i, j = map(int,input().split())
tmp = A[i-1:j]
tmp.reverse()
A[i-1:j] = tmp
for i in range(N):
print(A[i],end=' ')
- 역순으로 만들기 : tmp.reverse()
#1546 평균
#점수 최댓값 M
#모든 점수를 점수/M*100
N = int(input()) #시험 본 과목 개수
A = list(map(int,input().split())) #점수
M = max(A)
B=[]
for i in A : #리스트 A 안의 수
B.append(i/M*100) #새로운 점수 생성
res = sum(B)/N
print(res)
- for i in A : 리스트 A안의 수(i)