반응형
1302 베스트셀러
test_case = int(input()) # 딕셔너리를 이용해서 각 책을 얼마나 구입했는지 확인
books = {}
for _ in range(test_case):
book = input()
if book in books:
books[book] += 1
else:
books[book] = 1
target = max(books.value()) # 제일 많이 판매된 값
array = []
for book, number in books.items(): # 제일 많이 판매된 값의 책 이름 리스트 뽑기
if number == target:
array.append(book)
print(sorted(array)[0]) # 정렬해서 첫번째 값 추출
얻은 것
- max() 함수 활용
- dict.items() 를 통해 key, value 한 번에 추출 가능
- sorted() 활용
1668 트로피진열
# 첫번째 풀이
n = int(input())
left = 0
right = 0
trophys = []
for _ in range(n): # 트로피 나열 리스트 생성
trophys.append(int(input()))
maxheight = max(trophys)
minheight = 0
for i in range(n): # 왼쪽에서 보기
if trophys[i] > minheight:
left += 1
if trophys[i] == maxheight:
break
minheight = trophys[i]
minheight = 0
for i in range(n-1, -1, -1): # 오른쪽에서 보기
if trophys[i] > minheight:
right += 1
if trophys[i] == maxheight:
break
minheight = trophys[i]
print(left)
print(right)
# 두번째 풀이
def ascending(array): # 오름차순 함수 만들기
now = array[0]
result = 1
for i in range(1, len(array)):
if now < array[i]:
reuslt += 1
now = array[i]
return result
n = int(input())
array = []
for _ in range(n): # 트로피 나열 리스트
array.append(int(input()))
print(ascending(array)) # 왼쪽에서 봤을 때
array.reverse() # 리스트 뒤집기
print(ascending(array)) # 오른쪽에서 봤을 때
얻은 것
- 반복되면 함수 만들기
- 반복문에서 안되면 함수로 만들면 쉬움
1236 성 지키기
n, m = map(int, input().split())
array = []
for _ in range(n): # 성 행렬 받기
array.append(input())
row = [0] * n # 행
col = [0] * m # 열
for i in range(n): # 행과 열에 각각 경비원 표시
for j in range(m):
if array[i][j] == 'X':
row[i] = 1
col[j] = 1
row_count = 0 # 행에 필요한 경비원 수
for i in range(n):
if row[i] == 1:
row_count += 1
col_count = 0 # 열에 필요한 경비원 수
for i in range(m):
if col[i] == 1:
col_count += 1
print(max(row_count, col_count)) # 더 많은 쪽으로 추출
얻은 것
- 처음에 n, m 받을 때 map 안 써서 에러 남.. map 꼭 사용
- 분리해서 생각하기도 해야 함 (행과 열)
반응형
'컴퓨터 > 백준 문제풀이' 카테고리의 다른 글
1927 최소 힙, 1715 카드 정렬하기, 1766 문제집 (0) | 2020.09.25 |
---|---|
2110 공유기, 1939 중량제한, 1991 트리 순회 (0) | 2020.09.25 |
11004 k번째 수, 1543 문서 검색, 1568 새 (0) | 2020.09.19 |
1074번 Z, 7490 0 만들기, 2751 수 정렬하기 2 (0) | 2020.09.17 |
11650 좌표 정렬하기, 10989 수 정렬하기 3, 2747 피노나치 수 (0) | 2020.09.12 |
댓글