🌞코딩테스트/🧡백준 [단계별로 풀어보기]

[단계별로 풀어보기] 5. 1차원 배열 💩

hyerimmy 2021. 8. 13. 01:24

📂단계5 1차원 배열

📌배열을 사용해 봅시다.
https://www.acmicpc.net/step/5

 

입출력과 사칙연산 단계

입출력과 사칙연산

www.acmicpc.net


1. [10818] 최소,최대 https://www.acmicpc.net/problem/10818

### 백준 [10818] 최소,최대 ###
### https://www.acmicpc.net/problem/10818 ###

# 01:36 ~ 01:40 (4m)

import sys

# 입력받기
n = int(sys.stdin.readline())

# 리스트로 입력받기
num = list(map(int, sys.stdin.readline().split()))

num.sort()
print(num[0], num[-1])

# 맞았습니다

 

2. [2562] 최댓값 https://www.acmicpc.net/problem/2562

### 백준 [2562] 최댓값###
### https://www.acmicpc.net/problem/2562 ###

# 01:41 ~ 01:53 (12m)

import sys

num = [0]*9
index = 0

# 입력받기
for i in range(0,9):
  num[i] = int(sys.stdin.readline())
  if num[i] > num[index]:
    index = i

print(num[index])
print(index+1)

# 맞았습니다

 

3. [2577] 숫자의 개수 https://www.acmicpc.net/problem/2577

### 백준 [2577] 숫자의 개수 ###
### https://www.acmicpc.net/problem/2577 ###

# 01:54 ~ 02:01 (7m)

import sys

# a,b,c 입력받기
a = int(sys.stdin.readline())
b = int(sys.stdin.readline())
c = int(sys.stdin.readline())

# 곱한 값 계산하기
result = str(a*b*c)

# 각 숫자별 카운팅 수 저장할 리스트
cnt = [0]*10

for i in range(0,len(result)):
  cnt[int(result[i])] += 1

for i in range (0,10):
  print(cnt[i])

 

4. [3052] 나머지 https://www.acmicpc.net/problem/3052

### 백준 [3052] 나머지 ###
### https://www.acmicpc.net/problem/3052 ###

# 02:03 ~ 02:06 (3m)

import sys
result = []

# 입력받기
for i in range(0,10):
  n = int(sys.stdin.readline())
  if n%42 not in result:
    result.append(n%42)

print(len(result))

# 맞았습니다!!

 

5. [1546] 평균 https://www.acmicpc.net/problem/1546

### 백준 [1546] 평균 ###
### https://www.acmicpc.net/problem/1546 ###

# 02:10 ~ 02:18 (8m)

import sys

# 입력
n = int(sys.stdin.readline())
score = list(map(int, sys.stdin.readline().split()))
#print(score)

# 최댓값 M 구하기
tscore = score
tscore.sort()
m = tscore[-1]
#print(m)

# 점수 새로 계산
for i in range(0,n):
  score[i] = score[i]/m*100

print(sum(score)/len(score))


# 맞았습니다!!

 

6. [8959] OX퀴즈 https://www.acmicpc.net/problem/8959

### 백준 [8959] OX퀴즈 ###
### https://www.acmicpc.net/problem/8959 ###

# 02:20 ~ 02:24 (4m)

import sys

n = int(sys.stdin.readline())

for i in range(0,n):
  s = sys.stdin.readline()
  cnt = 0
  score = 0
  for i in range(0,len(s)):
    if s[i] == 'O':
      score += 1+cnt
      cnt += 1
    else:
      cnt = 0
  print(score)

  # 맞았습니다!!

 

7. [4344] 평균은 넘겠지 https://www.acmicpc.net/problem/4344 런타임에러💩

### 백준 [4344] 평균은 넘겠지 ###
### https://www.acmicpc.net/problem/4344 ###

import sys

# c 입력받기
c = int(sys.stdin.readline())

# 변수 생성
avg = 0
result = 0

# 케이스 입력받기
for i in range(0,c):
  case = list(map(int, sys.stdin.readline().split()))
  avg = (sum(case)-case[0])/case[0]
  for n in range(1,case[0]+1):
    if(case[n]>avg):
      result += 1
      #print(case[n], result)
  result = format((result/case[0])*100,"0.3f")
  print(str(result)+'%')

1. 소수점 자리 고정할 때 - format((result/case[0])*100,"0.3f")
2. 리스트 모든 합 더할 때 -
sum(case)