[코드트리] 객체 정렬 / 정렬된 숫자 위치 알아내기

2024. 6. 19. 21:20·PS

 


 

문제

 

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

 

 

 

 

실행 결과

 

 

 

 

 

코드(Python)

class Point:
    def __init__(self, x, idx):
        self.x = int(x)
        self.idx = int(idx)


n = int(input())
points = []

# 한 줄로 x값 입력 받기
x_values = tuple(map(int, input().split()))

# 각 point 객체를 points에 추가
for i in range(1, n + 1):
    points.append(Point(x_values[i - 1], i))

# x 값 기준으로 오름차순 정렬
points.sort(key=lambda p: p.x)

sorted_x_values = [0] * n
for idx, point in enumerate(points):
    # 원 배열 인덱스에 새로운 배열 인덱스를 매핑
    sorted_x_values[point.idx - 1] = idx + 1

for point in sorted_x_values:
    print(point, end=" ")

 

 

 

 

코드 설명

enumerate 함수를 사용해 어느 위치로 이동하는지를 다시 매핑하는 것이 핵심이다.

point.idx - 1(원래 index) => idx+1(정렬된 index)

 

enumerate 함수란?반복문에서 각 원소와 동시에 몇 번째 반복문인지 해당 index를 확인하기 위해 사용한다. 
indx와 컬렉션의 element를 tuple 형태로 반환한다.

 

 

 


 

저작자표시 (새창열림)

'PS' 카테고리의 다른 글

[코드트리] Notation / 진수 to 진수  (0) 2024.06.21
[코드트리] Date to Date  (0) 2024.06.20
코드트리: a/b 출력 응용  (0) 2024.06.15
코드트리: 오름차순과 내림차순 정렬  (0) 2024.05.31
코드트리: 큰 숫자 자리수의 합  (0) 2024.05.28
'PS' 카테고리의 다른 글
  • [코드트리] Notation / 진수 to 진수
  • [코드트리] Date to Date
  • 코드트리: a/b 출력 응용
  • 코드트리: 오름차순과 내림차순 정렬
abyss-s
abyss-s
프론트엔드 개발합니다!
  • abyss-s
    abyss-s의 블로그입니다.
    abyss-s
  • 전체
    오늘
    어제
    • 분류 전체보기 (195)
      • Web (17)
        • JavaScript (6)
        • TypeScript (1)
        • React (6)
        • Vue (0)
        • Storybook (1)
        • Next.js (1)
      • Backend & Infra (8)
        • Database (3)
        • Node.js (2)
        • SpringBoot (1)
      • PS (71)
      • CS (30)
        • OS (13)
        • Structure & Algorithm (5)
        • Network (10)
        • 정보처리기사 (2)
      • Language (18)
        • OOP (1)
        • JAVA (13)
        • C++ (4)
      • Activities (18)
        • 멋쟁이 사자처럼 (2)
        • OSSCA (4)
        • LG U+ URECA (5)
        • Project (2)
        • Conference (2)
      • IT (3)
      • AI (0)
      • Git & Github (5)
      • Notion (1)
      • Statistics (11)
      • Book (5)
      • Diary (1)
      • Game (1)
  • 블로그 메뉴

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

    • Github
    • Baekjoon
    • X
    • LinkedIn
  • 공지사항

    • abyss-s의 티스토리에 오신 것을 환영합니다.
  • 인기 글

  • 태그

    운영체제
    BAEKJOON
    코드트리
    JavaScript
    Java
    React
    C++
    DP
    자바기반응용프로그래밍
    그리디
    통계학
    OS
    백준
    자바스크립트
    네트워크
    ossca
    Python
    생활코딩
    BFS
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
abyss-s
[코드트리] 객체 정렬 / 정렬된 숫자 위치 알아내기
상단으로

티스토리툴바