하루한줄 코딩일기
[백준] 5단계: 1차원 배열(1~7번) - 파이썬(Python) 본문
👊 내 문제 풀이
1. 10818번 : 최소, 최대
input 대신 readline 함수를 써봤다.
import sys
n = int(input())
arr = list(map(int, sys.stdin.readline().split()))
print(min(arr),max(arr))
2. 2562번 : 최댓값
num = []
for i in range(9):
num.append(int(input()))
print(max(num))
print(num.index(max(num))+1)
3. 2577번 : 숫자의 개수
처음엔 temp 리스트를 만들고, 숫자 n일 경우 temp의 n번째 인덱스에 +1을 더해주는 코드를 짰으나, 문자의 개수를 세는 count 함수를 사용하는 것이 가장 간단한 솔루션이다.
a = int(input())
b = int(input())
c = int(input())
m = list(str(a*b*c)) # m = ['1','7','0','3','7','3','0','0']
# count 함수 사용
for i in range(10):
print(m.count(str(i)))
4. 3052번 : 나머지
set 자료형을 사용해 중복 없이 나머지를 저장하고 그 길이를 출력한다.
ans = set() #중복제거를 위해 set 사용
for i in range(10):
n = int(input())
ans.add(n%42)
print(len(ans))
5. 1546번 : 평균
n = int(input())
scores = list(map(int, input().split()))
maxscore = max(scores)
for i in range(n):
scores[i] = scores[i]/maxscore*100
print(sum(scores)/n)
6. 8958번 : OX퀴즈
O면 총 점수에 누적점수를 더한 한 후 누적점수에 1점을 추가하고, X를 만나면 누적점수를 1로 초기화해준다.
N = int(input())
for i in range(N):
arr = list(input())
score = 0 #총점수
plusscore = 1 #누적점수
for j in arr:
if j == "O":
score += plusscore
plusscore += 1
elif j == 'X':
plusscore = 1
print(score)
7. 4344번 : 평균은 넘겠지
둘째 줄 부터 테스트 케이스의 첫 숫자는 학생의 수를 나타내므로 n이라는 변수에 따로 저장해주고, 그 다음 인덱스부터는 점수를 나타내므로 scores 리스트에 담는다.
C = int(input())
for i in range(C):
scores = list(map(int, input().split()))
n = scores[0]
scores = scores[1:]
ave = sum(scores)/n
cnt = 0 #평균을 넘는 학생 수
for j in scores:
if j>ave:
cnt+=1
print("%.3f%%" %(cnt/n*100))
'Algorithm' 카테고리의 다른 글
[인프런 - 파이썬 알고리즘 문제풀이] 2.7 소수(에라토스테네스 체) (0) | 2022.01.29 |
---|---|
[인프런 - 파이썬 알고리즘 문제풀이] 2.6 자릿수의 합 (0) | 2022.01.26 |
[백준] 4단계: while문(1~3번) - 파이썬(Python) (0) | 2022.01.25 |
[백준] 3단계: for문(1~11번) - 파이썬(Python) (0) | 2022.01.25 |
[백준] 2단계: if문(1~5번) - 파이썬(Python) (0) | 2022.01.25 |
Comments