[백준] 18870번 좌표 압축 - 파이썬

2021. 5. 22. 23:34·알고리즘 공부/기타

https://www.acmicpc.net/problem/18870

 

18870번: 좌표 압축

수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌

www.acmicpc.net

import sys
n = int(sys.stdin.readline())
num = list(map(int,sys.stdin.readline().split()))

num_list=list(set(num))
num_list.sort()
dic_list = {}
for i in range(len(num_list)):
    dic_list[num_list[i]] = i
for j in num:
    print(dic_list[j], end=" ")

파이썬의 단점이 아주 아주 많이 들어난 문제이다..

시간 초과 때문에 한 1시간은 고민한듯 하다

딕셔너리의 사용을 자주 하지 않아서 어색한 느낌이 있어 이해하는 것에 시간을 많이 투자 했다.

 

dict를 사용할 때 

dict는 key 값과 value 값이 사용된다.

 

또한 딕셔너리 쌍을 추가하는 방법은 

a= {1 : 'a'}

a[2] = "b"

이런 식으로 하면 

a 는 {1:'a' , 2: 'b'} 이렇게 그냥 추가된다.

그리고 중간에 for 문을 넣을 때 

위의 방법 말고도 

import sys

input = sys.stdin.readline

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

arr2 = sorted(list(set(arr)))
dic = {arr2[i] : i for i in range(len(arr2))}
for i in arr:
    print(dic[i], end = ' ')

위의 방법처럼 for 문을 넣는 방법도 있으니 참고해두자 함수 내의 for 문을 활용해보는 것도 좋은 경험이 될것이다.

언어에서 c 언어 학습을 조금씩 늘려야 겠다.

 

 

https://wikidocs.net/16043

 

반응형

'알고리즘 공부 > 기타' 카테고리의 다른 글

[백준] 1037번 약수- 파이썬  (0) 2021.08.14
[백준] 5086번 배수와 약수- 파이썬  (0) 2021.08.14
[백준] 10814번 나이순 정렬 - 파이썬  (0) 2021.05.22
[백준] 11650번 좌표 정렬하기 - 파이썬  (0) 2021.05.21
[백준] 1181번 단어 정렬 - 파이썬  (0) 2021.05.21
'알고리즘 공부/기타' 카테고리의 다른 글
  • [백준] 1037번 약수- 파이썬
  • [백준] 5086번 배수와 약수- 파이썬
  • [백준] 10814번 나이순 정렬 - 파이썬
  • [백준] 11650번 좌표 정렬하기 - 파이썬
코딩 코딩 코오딩
코딩 코딩 코오딩
  • 코딩 코딩 코오딩
    코딩하는 누누
    코딩 코딩 코오딩
  • 전체
    오늘
    어제
    • 분류 전체보기 (491)
      • 생산성 (2)
        • 인텔리제이 (2)
      • 프로젝트 기록 (14)
        • git (2)
        • spring (3)
        • TestCode (2)
        • spring security (3)
        • 기타 (2)
        • MySQL (0)
        • Cloud (2)
      • 회고 (4)
      • Spring (6)
      • JPA (0)
      • DB (4)
        • MySql (2)
        • Redis (1)
      • Java (7)
        • JSP (1)
      • 잡담 (1)
      • CS (30)
        • 컴퓨팅 사고 (0)
        • 배열 (4)
        • 알고리즘 (8)
        • 메모리 (7)
        • 자료구조 (9)
        • 암호학 (2)
      • opencv (14)
      • AI (56)
        • 머신러닝 (2)
        • 딥러닝 (7)
        • tensorflow (3)
        • 머신러닝(딥러닝) 정리 (21)
        • 강화학습 (7)
        • 논문 읽기 (1)
        • 잡동사니 (1)
        • python AI (13)
        • 선형대수 (1)
        • 확률론 (0)
      • 알고리즘 공부 (177)
        • 그래프 이론 (0)
        • 다익스트라 (4)
        • 위상정렬 (3)
        • 신장트리-크루스칼 알고리즘 (4)
        • 플로이드 워셜 (3)
        • 이진탐색 (9)
        • 백트래킹 (11)
        • 부르드포스 (9)
        • 다이나믹 프로그래밍 (20)
        • BFS & DFS (24)
        • 그리디 (6)
        • 구현 (15)
        • 정렬 (3)
        • 기타 (62)
        • 수학? (1)
      • 코딩 (173)
        • 파이썬(python) (15)
        • c언어 (13)
        • 프로그래머스 lv1 (46)
        • 프로그래머스 lv2 (41)
        • 백준 - c++ (49)
        • Softeer (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩
    선택정렬
    코딩테스트
    코딩문제
    DFS
    n진법 변환
    에라토슽네스의 체
    삽입 정렬
    다이나믹 프로그래밍
    캘리브레이션
    인접리스트
    인접행렬
    순차 탐색
    큐
    알고리즘
    C언어 기초
    c언어
    정렬
    코딩기초
    소수찾기
    코딩기초스킬
    스택
    프로그래머스
    BFS
    이미지처리
    if문
    그리디
    백준
    자료구조
    왜곡보정
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩 코딩 코오딩
[백준] 18870번 좌표 압축 - 파이썬
상단으로

티스토리툴바