티스토리 뷰
반응형
문제:www.acmicpc.net/problem/1339
필자는 처음에 문제를 접근했을 때 다음과 같이 풀려고 했다.
수의 최대길이가 8이므로 우선 다 8자리를 제공하자.
그래서 빈 곳은 다 -1로 채우자
그리고 자릿수가 제일 큰 애한테 큰 값을 줘야하므로 2중 반복문을 구성하되, 세로로 읽게 하자.
근데 여기서 문제점이 생긴다. 만일 순서대로 읽는데 하필 그 때 D가 2개이고 E가 1개인데 E가 먼저 값을 가지게 되면 오답이 발생하게 된다. 그래서 필자는 결국 중간에 어떻게 해야할 지 몰라서 다른 분의 코드를 보게 되었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import sys
N = int(sys.stdin.readline().rstrip())
words=[sys.stdin.readline().rstrip() for _ in range(N)]
alphabet=[0]*26
for word in words:
i=0
while word:
num=ord(word[-1])-ord('A')
alphabet[num]+=pow(10,i)
i+=1
word=word[:-1]
alphabet.sort(reverse=True)
ans=0
idx=0
for i in range(9,-1,-1):
ans+=alphabet[idx]*i
idx+=1
print(ans)
|
cs |
참고:https://hjp845.tistory.com/129
로직의 흐름은 다음과 같다.
우선 알파벳 배열을 구성한다.
그리고 각 단어가 가지고 있는 알파벳들은 자릿수가 다르다.
예를 들어 GCF가 있다고 하자
그러면 F는 1의 자리에 대한 크기를 가지고 C는 10의 자리에 대한 크기를 가지고 G는 100의 자리에 대한 크기를 가진다.
이렇게 각 단어들을 조회 함으로써 알파벳들의 가중치를 계산한다. 그리고 이 값들을 내림차순으로 정리한 다음에
9부터 0까지 차례로 곱하면서 더해가면 완성된다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
16198번 에너지 모으기 백준 파이썬 (0) | 2020.12.20 |
---|---|
14225번 부분수열의 합 백준 파이썬 (0) | 2020.12.20 |
2250번 트리의 높이와 너비 백준 파이썬 (0) | 2020.12.16 |
1967번 트리의 지름 백준 파이썬 (0) | 2020.12.15 |
1991번 트리 순회 백준 파이썬 (0) | 2020.12.15 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 면접
- Pattern
- dockerignore
- DRF
- headers
- setattr
- 파이썬
- 카카오
- postgres
- Celery
- 자바
- thread
- PostgreSQL
- docker
- 알고리즘
- Python
- 프로그래머스
- env
- docker-compose
- ubuntu
- Java
- Collections
- 백준
- 2021 KAKAO BLIND RECRUITMENT
- Spring
- BFS
- django
- Command Line
- Linux
- 그래프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함