Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코딩테스트
- 폰 잃어버렸을때
- 정처기 후기
- 싸피 혜택
- 그램 액정 교체비용
- SSAFY
- 인디노래 추천
- 코드트리
- 정처기 인강 추천
- 폰 도난
- 싸피 모집설명회
- 폰 찾기
- 싸피 추천인
- 정보처리기사 준비물
- 싸피 모집설명회 다시보기
- LG 서비스센터 영업시간
- 싸피 11기
- 코딩테스트실력진단
- 싸피 지원자격
- 갤럭시 위치추적
- 학생메일
- 봄 노래
- 정보처리기사 실기
- 폰 위치추적
- 정처기 실기
- 삼성 싸피 지원
- #코드트리 #코딩테스트 #코딩테스트실력진단
- gram 액정 교체
- 삼성 싸피
- 싸피 추천코드
Archives
- Today
- Total
포포's 코딩&일상 기록
객체이용해서 문제풀이 본문
내가푼 풀이
cnt =0
class Num:
def __init__(self,n):
self.n=n
global cnt
self.c=cnt
cnt += 1
self.cidx =0
n= int(input())
arr = list(map(int,input().split()))
nList=[]
for a in arr:
nList.append(Num(a))
#정렬
nList.sort(key=lambda x: x.n)
#변경된 인덱스값 저장
for a in range(0,n):
nList[a].cidx = a+1
#원래 순서대로 재정렬
nList.sort(key=lambda x: x.c)
#변경된 인덱스값 출력
for a in nList:
print(a.cidx,end=" ")
풀이1
# 클래스 선언
class Number:
def __init__(self, number, index):
self.number, self.index = number, index
# 변수 선언 및 입력
n = int(input())
numbers = []
arr = list(map(int, input().split()))
numbers = [
Number(num, i)
for i, num in enumerate(arr)
]
answer = [
0 for _ in range(n)
]
# Custom Comparator를 활용한 정렬
numbers.sort(key=lambda x: (x.number, x.index))
# 정렬된 숫자들의 원래 인덱스를 활용한 정답 배열 저장
for i, number in enumerate(numbers):
answer[number.index] = i + 1 # 인덱스 보정
# 출력
for i in range(n):
print(answer[i], end = ' ')
풀이2
# 변수 선언 및 입력
n = int(input())
arr = list(map(int, input().split()))
numbers = [
(num, i)
for i, num in enumerate(arr)
]
answer = [
0 for _ in range(n)
]
# Custom Comparator를 활용한 정렬
numbers.sort(key=lambda x: (x[0], x[1]))
# 정렬된 숫자들의 원래 인덱스를 활용한 정답 배열 저장
for i, (_, index) in enumerate(numbers):
answer[index] = i + 1 # 인덱스 보정
# 출력
for i in range(n):
print(answer[i], end = ' ')