열 a1 [] 에
3등급 철검 데미지 5 고유 번호 f32
1등급 금검 데미지 24 고유 번호 d58
2등급 은검 데미지 10 고유 번호 f35
이걸 sort 시켜서 출력 해버리니까 ( 데미지 기준)
1. 3등급 철검 데미지 5 f32
2. 2등급 은검 데미지 10 d58
3. 1등급 금검 데미지 24 f35
이렇게 되버리는거야
참고로 내가 코딩초보라 당시 아이템 하나 하나 추가하는 재미로
고유번호는 아이템과 동일화 되어 있지 않음
배열도
a1[0]= 금검
a2[1]= 은검
이딴식으로 수천개 작업해뒀슴
0 번째 자리는 무조건 f32의 고유번호가 붙음
이게 문제인거임
sort 시켜서 출력해버리니
d58 금검 자리에 은검이 와버리는거
내가 원하기도 하면서 해결책은 이거 하나임
3등급 철검 데미지 5 고유 번호 d58
1등급 금검 데미지 24 고유 번호 f32
2등급 은검 데미지 10 고유 번호 f35
이대로 출력하되
앞에 1,2,3 sort 되는 순서는
1. 3등급 철검 데미지 5 고유 번호 d58
3. 1등급 금검 데미지 24 고유 번호 f32
2. 2등급 은검 데미지 10 고유 번호 f35
이렇게 하면 된다는거지
보기에는 불편하겠지만 분명히 내가 원하기도하면서 딱 이 기능을 원 함
어떻게 할 수 없을까 ?
codesaf.![]() | 원본은 놔 두고 인덱스만 따로 별개의 데이타로 뽑아서 그것만 정렬해서 원위치에다 등수를 박겠다는거임. 즉 원본 순서는 바뀌지 않고 등수만 바뀜. |
좋은 답변이 달렸는데
그걸 어케하는지 궁금한거임

내가 설명한게 해답인데
ㄴ 그러니까 그걸 어케 하냐고
답은 알려줄필요 없다며
시발 형 알려주세요 ㅠㅠ
[ 데미지 ] [ 원래위치 순번 ] 이걸 따로 복사해 만들어서 얘를 정렬하라고
ㄴ논리갑...
그런뒤 첫번째꺼 순번 찾아가 1 달아주면 될거아님.
두번째꺼 찾아가 2 달아주고.
뭐가 문제?
데미지랑 순번 적은거다 순번은 0부터 적었고
{ 5, 0 }, { 24, 1 }, { 10, 2 } 가 인덱스 테이블일꺼 아냐
이걸 정렬 하면
{ 5, 0 }, { 10, 2 }, { 24, 1 } 이게 되겠지.
그럼 첫번째껄 열면 { 5, 0 } 이니까, 0 위치 찾아가서 1등 달아주면 되겠네.
두번째껄 열면 { 10, 2 }, 니까 2 위치 찾아가서 2 등 달아주면 될테고
뭐가 문제냐고
자바로 할꺼면 클래스 하나 만들어서 클래스변수 여러개만들어서 각 항목들 넣고 갹체 만든다음 리스트에 넣어주고 반복문 돌리면서 정렬해
되버리는->돼버리는 (되어 = 돼임) [리듬 맞춤법 봇♬]