반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 현대엔지니어링
- 사회조사분석사 2급
- 백준 알고리즘
- 알고리즘
- 백준
- 2월공모주
- 오미크론 자가격리
- DFS
- 시물레이션
- 너비우선탐색
- 사회조사분석사 2급 필기 시험시간
- 공모주
- 사회조사분석사 2급 필기 요약정리
- 사회조사분석사2급실기신청
- 벽부수고이동하기 파이썬
- BFS
- 정렬
- 사이킷런
- 현대엔지니어링 수요예측
- 사회조사분석사 2급 접수
- 사회조사분석사2급실기신청꿀팁
- 공모주 청약
- 사회조사분석사 2급 기출문제집
- 사회조사분석사 2급 필기 공부방법
- 공모주청약
- 사회조사분석사 2급 독학
- 사회조사분석사 2급 공부방법
- 머신러닝
- 파이썬 정렬
- 그리디
Archives
- Today
- Total
세상을 바꾸는 데이터
[백준 1339번] 단어수학 - 파이썬 본문
문제 링크:
https://www.acmicpc.net/problem/1339
문제 풀이:
- 입력받은 각 단어들이 위치하고 있는 값을 알파벳마다 입력해준다.
먼저 빈 리스트를 영어 알파벳 개수만큼 생성해주고 값을 0으로 채운다.
ACE = 100 * A + 10 * C + 1 * E 가 있다고 하면,
alpha[A] = 100, alpha[C] = 10, alpha[E] = 1을 빈 리스트에 더해주면 된다.
예를 들어
ACE + EBDF 문제가 있다고 하자.
ACE에서 alpha[A] = 100 alpha[C] = 10 alpha[E] = 1이고,
EBDF에서 alpha[E] = 1000 alpha[B] = 100 alpha[D] = 10 alpha[F] = 1이다.
이제 같은 알파벳끼리 더한다.
alpha[A] = 100, alpha[C] = 10, alpha[E] = 1001(1 + 1000), alpha[B] = 100, alpha[D] = 10, alpha[F] = 1이다.
- 이 값들을 내림차순 하여 9부터 0까지 매핑시키면 최댓값을 도출할 수 있다.
ACE + EBDF의 최댓값은
(9 * 1001 + 8 * 100 + 7 * 100 + 6 * 10 + 5 * 10 + 4 * 1 = 9009 + 800 + 700 + 60 + 50 + 4 = 10623)이다.
< 풀이 코드 >
# 1339번 단어 수학
n = int(input())
# 문자를 숫자로 바꾼 형태로 입력값 받기
word = [list(map(lambda x: ord(x)-65, input().strip())) for _ in range(n)]
# 알파벳 리스트 생성
alpha = [0] * 26
# 입력받은 문자열 순서대로 반복문 실행
for i in range(n):
j = 0
# 입력받은 문자열을 거꾸로 받아 10의 제곱수만큼 곱하고 alpha에 추가
for w in word[i][::-1]:
alpha[w] += (10 ** j)
j += 1
# 알파벳 내림차순 정렬
alpha.sort(reverse=True)
# 정답값, 곱할 횟수 변수 생성
ans, t = 0, 9
for i in range(26):
# 특정 인덱스 값이 0이 되면 그 다음부터 인덱스도 다 0이므로 반복문 탈출
if alpha[i] == 0:
break
# 9부터 1씩 내려가며 정답값 도출
ans += t * alpha[i]
t -= 1
print(ans)
728x90
반응형
'PS Study > BOJ(백준)' 카테고리의 다른 글
[백준 4796번] 캠핑 - 파이썬 (9) | 2022.01.24 |
---|---|
[백준 4673번] 셀프 넘버 - 파이썬 (0) | 2022.01.23 |
[백준 1789번] 수들의 합 - 파이썬 (2) | 2022.01.21 |
[백준 13305번] 주유소 - 파이썬 (2) | 2022.01.21 |
[백준 1946번] 신입사원 - 파이썬 (2) | 2022.01.21 |
Comments