티스토리 뷰

포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.

문제를 보자.

처음 문제를 읽고 갸우뚱했다.
 
무슨 소리지?
 
근데 예제를 보니 바로 이해됐다.
 
코드

import sys as s
a = int(s.stdin.readline())

array = list(map(int,s.stdin.readline().split()))

memory = [-1 for _ in range(a)]
for i in range(len(set(array))):
    b = min(array)
    while b in array:
        memory[array.index(min(array))] = i
        array[array.index(min(array))] = 100000001
       
print(*memory)

하지만 위 코드는 시간초과로 틀렸다.
 
솔직히 저거보다 더 깔끔하게 만들 자신이 없었다.
 
그래서 도움을 받았다.
 
다른 사람들은 dictionary를 통해 풀었다.
 
코드를 보자.
 
코드

import sys as s

a =int(s.stdin.readline())
array = list(map(int,s.stdin.readline().split()))
array2 = list(sorted(set(array)))

memory = {array2[i]:i for i in range(len(array2))}

for i in array:
    print(memory[i],end=' ')

출처 : https://eunhee-programming.tistory.com/116

코딩테스트 준비 - 백준18870번 좌표압축 풀이:파이썬 딕셔너리 활용 (파이썬)

백준 18870번 풀이 문제풀러가기 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의

eunhee-programming.tistory.com

처음 접해보는 개념이다.
 
사실 이전에 접하긴 했었지만, 사용해보지 않아 개념에 무지했다.
 
간단하게 개념만 잡고 가자.
 
dic = {'key1' : '1', 'key2' : '2'}
print(dic [key1])
의 결과 1을 출력한다.
 
요즘 잠에 드는 시간이 많이 늦어졌다.
 
새벽을 다 새우고, 새소리가 들릴 때쯤 잠에 든다.
 
처음에는 어차피 수면시간만 똑같으면 언제 자든 문제가 없다 생각했다.
 
하지만, 나는 보통 비생산적인 일로 새벽 대부분을 채운다.
 
그만큼 시간이 버려지고있다.

주로 효율적으로 시간을 사용하는 아침에 활동해야겠다.

수면패턴을 고치자.
 
배운 점
1. 파이썬 dic은 {}로 선언되며, 이 또한 for 루프로 선언해 줄 수 있다.
 

'백준' 카테고리의 다른 글

백준 2738 문제풀이 [python]  (0) 2023.07.10
백준 11022 문제풀이 [python]  (0) 2023.07.09
백준 10988 문제풀이 [python]  (0) 2023.07.07
백준 1181번 문제풀이 [python]  (0) 2023.07.04
백준 11651 문제풀이 [python]  (0) 2023.07.03
댓글