[백준/Python] 18870 좌표 압축

재활용병·2024년 1월 15일
1

코딩 테스트

목록 보기
71/157

[백준/Python] 18870 좌표 압축


풀이 코드 및 설명

n = int(input())
coords = list(map(int, input().split()))

# 좌표를 정렬하고, 중복을 제거하여 서로 다른 좌표만을 가진 리스트 생성
unique_coords = sorted(set(coords))

# 각 좌표에 대한 압축된 좌표 값을 저장하는 딕셔너리 생성
coord_dict = {coord: i for i, coord in enumerate(unique_coords)}

# 각 좌표를 압축된 좌표 값으로 치환
compressed_coords = [coord_dict[coord] for coord in coords]

print(*compressed_coords)
  1. 좌표 입력 받는다.
  2. 좌표들을 정렬 후 set 을 사용하여 중복을 제거하면 각 좌표가 몇 번째로 작은지 알 수 있다.
  3. 딕셔너리 coord_dict 를 생성하여 각 좌표 값에 대한 압축된 좌표 값을 매핑한다. 여기서 enumerate 함수는 각 좌표에 대한 압축된 좌표 값이다.
  4. 원래 좌표 리스트를 돌면서 각 좌표를 딕셔너리를 통해서 압축된 좌표 값으로 바꾼다.
  5. 압축된 좌표들을 출력한다.
profile
코딩 말고 개발

0개의 댓글

관련 채용 정보