https://www.acmicpc.net/problem/2490
1. 내가 작성한 코드
for i in range (4):
arr[i] = list(map(int, input().split()))
for i in range (3):
x,y = 0,0
for j in range (4):
if arr[i][j] == 0 :
x = x + 1
else :
y = y + 1
if x == 1 and y == 3 : print('A')
elif x == 2 and y == 2 : print('B')
elif x == 3 and y == 1 : print('C')
elif x == 4 and y == 0 : print('D')
else : print('E')
'입력 -> 출력 -> 입력 -> 출력'과 같이 입력과 출력이 교차되는 형태도 맞게 채점되는 지 알지 못해서,,
입력 입력 입력 -> 출력 출력 출력 과 같은 형식으로 만들기 위해 노력했다.
arr 리스트가 제대로 정의되지 않아 런타임 오류가 발생했고 ㅠㅠ 한참을 고민했지만 어떻게 해결해야하는지 알지 못해서 구글링..
2. 모범답안
for i in range(3):
a = list(map(int, input().split()))
if a.count(0) == 1:
print("A")
elif a.count(0) == 2:
print("B")
elif a.count(0) == 3:
print("C")
elif a.count(0) == 4:
print("D")
else:
print("E")
알게 된 점
- 어차피 a 리스트는 반복문을 거치며 재정의 되기 때문에 굳~이 리스트를 3개 만들 필요가 없다.
- (1,3) (2,2)와 같이 튜플의 형태로 조건식을 만들 필요 없이, 0이나 1의 수로 세우면 된다.
- 입력과 출력은 교차되어도 상관없다 (생각해보면 당연함)
- count() 함수를 이용해 list에 있는 원소의 수를 셀 수 있다.
'🔅코딩테스트 공부🔅 > ❗백준' 카테고리의 다른 글
[백준] 2576번 홀수(with python) (0) | 2023.01.11 |
---|---|
[백준] 9085번 더하기(with python) (0) | 2023.01.11 |
[백준] 2506번 점수계산(with python) (0) | 2023.01.10 |
[백준] 1546번 평균(with python) (0) | 2023.01.10 |
[백준] 2525번 오븐 시계(with python) (0) | 2023.01.10 |
댓글